media/demos
andrewlewis 4fb651b116 Instantiate SurfaceView on main thread
On some devices/builds it seems that the `SurfaceView` constructor tries to create a handler. Move instantiation to the main thread when getting the debug surface view so that handler creation succeeds.

PiperOrigin-RevId: 505745387
2023-02-01 10:36:12 +00:00
..
cast Switch incorrectly configured native multidex to legacy for demos 2022-09-30 17:05:23 +00:00
gl Switch incorrectly configured native multidex to legacy for demos 2022-09-30 17:05:23 +00:00
main Request notification permission in demo app for API 33+ 2023-01-17 01:53:10 +00:00
session Inline method in PlayerService that is used from on call site only 2023-02-01 10:28:52 +00:00
surface Fix handling of content URIs by demo apps 2022-06-09 17:38:11 +00:00
transformer Instantiate SurfaceView on main thread 2023-02-01 10:36:12 +00:00
README.md Update to androidx.media3 2021-10-27 09:12:46 +01:00

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 with demo.
  • Run ./gradlew :<demo name>:tasks to view the list of available tasks for the demo project. Choose an install option from the Install 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.