media/demos
jbibik 2dc6af1fae [ui-compose] Add PresentationState for first-frame info
It captures some information needed for the UI logic related to rendering of the video track (and later images) to the surface.

Supporting `EVENT_RENDERED_FIRST_FRAME` helps improve the UX by covering the surface with an overlay (scrim/shutter) until the first frame is ready. This helps avoid sudden flickering during MediaItem transitions.

PiperOrigin-RevId: 712889568
2025-01-07 06:34:02 -08:00
..
cast Remove Multidex 2024-07-24 16:17:00 +01:00
compose [ui-compose] Add PresentationState for first-frame info 2025-01-07 06:34:02 -08:00
composition Make back button pause player instead of quitting app 2024-11-26 03:33:45 -08:00
effect Add contrast effect to effect demo 2024-12-17 07:33:52 -08:00
gl Remove Multidex 2024-07-24 16:17:00 +01:00
main Reorder IMA samples for easier QA testing 2024-12-17 02:33:21 -08:00
session Remove tools:replace="android:name" from manifests where multidex config has been removed 2024-07-25 13:12:10 +01:00
session_automotive Remove tools:replace="android:name" from manifests where multidex config has been removed 2024-07-25 13:12:10 +01:00
session_service Use media button preferences in session demo app 2024-10-25 04:34:21 -07:00
shortform Resolve the memory leaks in demo short-form app 2024-11-13 04:42:47 -08:00
surface Align spelling of fullScreen to fullscreen 2024-10-22 08:30:10 -07:00
transformer Use Util to request permissions in Transformer demo 2025-01-07 04:13:36 -08: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.