mirror of
https://github.com/samsonjs/media.git
synced 2026-04-18 13:25:47 +00:00
The `PreloadMediaSource` has below two new public methods that suppose to be called by the app: * `preload(long)` allows the apps to preload the source at the passed start position before playback. The preload efforts include preparing the source for a `Timeline`, creating and caching a `MediaPeriod`, preparing the period, selecting tracks on the period and continuing loading the data on the period. * `releasePreloadMediaSource()` allows the apps to release the preloaded progress. The `PreloadMediaPeriod` is designed to facilitate the `PreloadMediaSource` for the preloading work. It has a new package-private method `selectTracksForPreloading` which will cache the `SampleStream` that corresponds to the track selection made during the preloading, and when the `PreloadMediaPeriod.selectTracks` is called for playback, it will uses the preloaded streams if the new selection is equal to the selection made during the preloading. Also add a shortform demo module to demo the usage of `PreloadMediaSource` with the short-form content use case. PiperOrigin-RevId: 574439529 |
||
|---|---|---|
| .. | ||
| cast | ||
| gl | ||
| main | ||
| session | ||
| session_automotive | ||
| session_service | ||
| shortform | ||
| surface | ||
| transformer | ||
| README.md | ||
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
mediafolder. - Choose the demo from the run configuration dropdown list.
- Click Run.
Using gradle from the command line:
- Open a Terminal window at the root
mediafolder. - Run
./gradlew projectsto show all projects. Demo projects start withdemo. - Run
./gradlew :<demo name>:tasksto view the list of available tasks for the demo project. Choose an install option from theInstall taskssection. - Run
./gradlew :<demo name>:<install task>.
For example, ./gradlew :demo:installNoDecoderExtensionsDebug installs the
ExoPlayer demo app in debug mode with no optional modules.