jbibik 0270267e08 Add ShuffleButtonState and RepeatButtonState to ui-compose
* 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 Shuffle- and Repeat- ButtonStates inside a Shuffle- and RepeatButton Composable.
* Reformat the MainActivity usage of `Shuffle` and `Repeat` buttons to form extra Player Controls and combine Prev/Play-Pause/Next with Shuffle/Repeat (Minimal controls + Extra controls = `PlayerControls`)

PiperOrigin-RevId: 692939825
2024-11-04 06:12:57 -08:00
..

ExoPlayer demo with Compose integration

This is an experimental ExoPlayer demo app that is built fully using Compose features. This should be taken as Work-In-Progress, rather than experimental API for testing out application development with the media3 and Jetpack Compose libraries. Please await further announcement via Release Notes for when the implementation is fully integrated into the library.

For an intermediate solution, use Jetpack Compose Interop with AndroidView and PlayerView. However, note that it provides limited functionality and some features may not be supported.

See the demos README for instructions on how to build and run this demo.