mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00

Provide a helper Composable for remembering the state instance and launching the listening coroutine that observes the changes in the Player Add an example to demo-compose of using PlayPauseButtonState inside a PlayPauseButton Composable. The smart State object has been deemed a preferred solution over collecting Flows due to queuing/timing/buffering limitations. Instead, it uses the new `Player.listen` suspending extension function to catch the relevant events. PiperOrigin-RevId: 691879975
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.