The Android app for the cross-platform media player SimpliPlay :D
Go to file
2025-01-24 18:55:56 -06:00
decompiled-releases AI2 4.1 src 2025-01-21 18:27:23 -06:00
extensions Removed uncompressed extensions, people can uncompress easily by renaming extension to zip 2024-12-20 21:31:50 -06:00
flutter-exoplayer/flutter_beta_exoplayer_creator Create video_player_manager.dart 2025-01-21 23:47:34 -06:00
kotlin-media3demo/media3 Adding Media 3 Demo source code 2024-12-28 22:22:43 -06:00
.DS_Store Added Flutter v5 source code 2024-12-30 19:08:36 -06:00
.gitignore Update .gitignore 2024-12-20 21:24:10 -06:00
LICENSE Initial commit 2024-12-17 14:28:02 -06:00
README.md Update README.md 2025-01-24 18:55:56 -06:00

simpliplay-android

--(formerly known as ExoPlayer Creator)--

An Android app that allows you to play video using ExoPlayer, which supports many video formats, supports subtitles, and even includes support for playlists in the AI2 releases! The Flutter version utilizes Media3, and the App Inventor (AI2) version utilizes Media2.

Looking for an iOS app that does the same? Check out SimpleiOSPlayer, also by me.

App Inventor Ver.

ExoPlayer Creator primarily uses the ExoPlayer for App Inventor extension to create ExoPlayer initializations, and is a modified version of the 1.0.4 AIA version of the ExoPlayer for App Inventor demo.

Extensions First Used
ExoPlayer for App Inventor v1
RelativeView v1
ComponentTools v1
UpdateMyApp v1.4.1 - v3.3
UrsAI2SideBar v2.0
OriginalToast v2.2
Network v2.4
UrsAI2KeepAwake v2.5
GetMetrics v2.5
CustomSpotlight v3.1
ImageNotifier v3.2.2
CustomDownloader v3.4
AltNotifier v3.4
NotificationStyle v3.4

ExoPlayer Creator has been tested on the following devices with the following results:

Device Compatible? Real Device/VM
Android 15 Yes VM
Android 14 Yes Real Device
Android 9 Yes VM
Android 8 Yes VM
Android 5 Mostly Broken VM

Compatibility-wise, most versions of Android work just fine with the app, but if you're using Android 7 or below, note that I either haven't tested the app on those devices or the app failed to function as intended.

Make sure you have a WebView installed, or else the HTML5 player won't work because it relies on a WebView to display the player. This is important in VMs since unlike commercial devices they are meant more for developer purposes and thus lack some important tools, like the Play Store (some Android SDKs do not include it), WebViews, etc.

Issues (that can't really be fixed)

On Android 5, a severe codec issue happens when loading most videos (unless recorded with device camera). Android 5 does not support the latest video codecs.

And on any Android version, URLs that are signed using self-signed certificates return a source error in any video player in the app that supports using video URLs, this is normal behavior in Android and it cannot be fixed because Android does not allow bypassing this check.

Flutter Ver.

The Flutter version was built in Android Studio with the Flutter plugin, and primarily relies on the video_player and chewie plugins, uses the keep_screen_on plugin to keep screen active when playing a video, uses the file_picker plugin to pick a video and subtitle file on your device to play, and unlike the App Inventor version, uses a different UI standard, which is rendered with Skia, Material UI.

It uses Media 3 ExoPlayer, something the App Inventor version would've been dreaming of, but has less controls, but is simpler to use and much more user-friendly, and is solely ExoPlayer (at least, for now). It does not support a quality selector, or advanced audio settings, but it supports everything else the App Inventor version does in the ExoPlayer point of view (P.O.V).

Media3 Demo (Very Early Demo)

Warning

Please note that this version isn't recommended for use because it doesn't support basic functionality like entering a video URL or choosing a video file. It is recommended to use the Flutter release or the AI2 release instead.

The Media3 Demo was built in Android Studio using Kotlin, and uses the Media3 Player app by @akhorasani as a base for all Media3 support, and uses the traditional INTENT methods for URL redirects in Kotlin.

It, unlike the other 2 versions, is in a very early state right now and does not support video URLs (believe me, I tried, and failed), as of now. However, the placeholder video is the Big Buck Bunny short film, stored in a GCP (Google Cloud Protocol) storage bucket.