
The MediaItemFiller is not flexible enough for most realworld usages because: - it doesn't allow asynchronous resolution of MediaItems (e.g. to look up URIs from a database) - it doesn't allow to batch updates for multiple items or do more advanced customizations (e.g. expanding a mediaId representing a playlist to multiple items). Both issues can be solved by passing in a list of items and returning a ListenableFuture. The callback itself can also move into MediaSession.Callback for consistency with the other callbacks. PiperOrigin-RevId: 451857319
Demos
This directory contains apps that demonstrate how to use Android media modules, like ExoPlayer. Browse the individual demos and their READMEs to learn more.
Running a demo
From Android Studio
- File -> New -> Import Project -> Specify the root
media
folder. - Choose the demo from the run configuration dropdown list.
- Click Run.
Using gradle from the command line:
- Open a Terminal window at the root
media
folder. - Run
./gradlew projects
to show all projects. Demo projects start withdemo
. - Run
./gradlew :<demo name>:tasks
to view the list of available tasks for the demo project. Choose an install option from theInstall tasks
section. - Run
./gradlew :<demo name>:<install task>
.
For example, ./gradlew :demo:installNoDecoderExtensionsDebug
installs the
ExoPlayer demo app in debug mode with no optional modules.