mirror of
https://github.com/samsonjs/media.git
synced 2026-03-25 09:25:53 +00:00
The media item needs to be assigned to `Window.mediaItem` in `CastTimeline.setWindow`. For this the `MediaItem` needs to be available in the timeline. When a `MediaItem` is passed to the `set/addMediaItems` method, we can't yet know the Cast `MediaQueueItem.itemId` that is generated on the device and arrives with an async update of the `RemoteMediaClient` state. Hence in the `CastTimelineTracker`, we need to store the `MediaItem` by Casts's `MediaItem.contentId`. When we then receive the updated queue, we look the media item up by the content ID to augment the `ItemData` that is available in the `CastTimeline`. Issue: androidx/media#25 Issue: google/ExoPlayer#8212 #minor-release PiperOrigin-RevId: 460325235 |
||
|---|---|---|
| .. | ||
| src | ||
| build.gradle | ||
| README.md | ||
Cast module
This module provides a Player implementation that controls a Cast receiver app.
Getting the module
The easiest way to get the module is to add it as a gradle dependency:
implementation 'androidx.media3:media3-cast:1.X.X'
where 1.X.X is the version, which must match the version of the other media
modules being used.
Alternatively, you can clone this GitHub project and depend on the module locally. Instructions for doing this can be found in the top level README.
Using the module
Create a CastPlayer and use it to control a Cast receiver app. Since
CastPlayer implements the Player interface, it can be passed to all media
components that accept a Player, including the UI components provided by the
UI module.