Callback for Cast media commands.
This class has the default implementation to call methods of the MediaSession which
MediaManager
currently attaches to.
Public Constructor Summary
Public Method Summary
Task<Void> |
onEditAudioTracks(String senderId,
EditAudioTracksData requestData)
Called when a edit audio tracks command is received.
|
Task<Void> |
onEditTracksInfo(String senderId,
EditTracksInfoData requestData)
Called when a edit tracks info command is received.
|
Task<Void> |
onFetchItems(String senderId,
FetchItemsRequestData requestData)
Called when a sender requests to fetch more items relative to an item.
|
Task<Void> | |
Task<Void> | |
Task<Void> |
onPlayAgain(String senderId,
RequestData
requestData)
Called when assistant requests to play the last media again.
|
Task<Void> |
onQueueInsert(String senderId,
QueueInsertRequestData requestData)
Called when a queue insert command is received.
|
Task<Void> |
onQueueRemove(String senderId,
QueueRemoveRequestData requestData)
Called when a queue remove command is received.
|
Task<Void> |
onQueueReorder(String senderId,
QueueReorderRequestData requestData)
Called when a queue reorder command is received.
|
Task<Void> |
onQueueUpdate(String senderId,
QueueUpdateRequestData requestData)
Called when a queue update command is received.
|
Task<Void> | |
Task<Void> |
onSelectTracksByType(String senderId,
int type, List<MediaTrack>
tracks)
Called by default when a track-editing command is received, either
onEditTracksInfo(String, EditTracksInfoData) or
onEditAudioTracks(String, EditAudioTracksData) , which requests to
change the selected tracks.
|
Task<Void> |
onSetPlaybackRate(String senderId,
SetPlaybackRateRequestData requestData)
Called when a command is received to set the playback rate.
|
Task<Void> |
onSetTextTrackStyle(String senderId,
TextTrackStyle
textTrackStyle)
Called by default when a track-editing command is received, which requests to
change the text track style.
|
Task<Void> | |
Task<Void> | |
Task<Void> |
onUserAction(String senderId,
UserActionRequestData userActionRequestData)
Called when the app receives a user action.
|
Inherited Method Summary
Public Constructors
public MediaCommandCallback ()
Public Methods
public Task<Void> onEditAudioTracks (String senderId, EditAudioTracksData requestData)
Called when a edit audio tracks command is received.
It is discouraged to override this method, unless you really need the original request data.
By default, this method will invoke
onSelectTracksByType(String, int, List)
with type MediaTrack.TYPE_AUDIO
with the first track matching the language, if
EditTracksInfoData.getLanguage()
is non-null.
public Task<Void> onEditTracksInfo (String senderId, EditTracksInfoData requestData)
Called when a edit tracks info command is received.
It is discouraged to override this method, unless you really need the original request data.
By default, this method will:
- Invoke
onSetTextTrackStyle(String, TextTrackStyle)
ifEditTracksInfoData.getTextTrackStyle()
is non-null. - Invoke
onSelectTracksByType(String, int, List)
with typeMediaTrack.TYPE_TEXT
with the first track matching the language, ifEditTracksInfoData.getLanguage()
is non-null. - Invoke
onSelectTracksByType(String, int, List)
for each track type incom.google.android.gms.cast.MediaTrack.TYPE_*
, with the matching tracks (can be multiple) with the specified active track IDs, ifEditTracksInfoData.getActiveTrackIds()
is non-null andEditTracksInfoData.getLanguage()
is null. - If both
EditTracksInfoData.getLanguage()
andEditTracksInfoData.getActiveTrackIds()
are null, andEditTracksInfoData.getEnableTextTracks()
is non-null, invokeonSelectTracksByType(String, int, List)
for toggle text tracks. SeeEditTracksInfoData.getEnableTextTracks()
for details.
public Task<Void> onFetchItems (String senderId, FetchItemsRequestData requestData)
Called when a sender requests to fetch more items relative to an item.
public Task<Void> onPause (String senderId, RequestData requestData)
Called when a pause command is received.
The default implementation calls
MediaControllerCompat.TransportControls.pause()
.
public Task<Void> onPlay (String senderId, RequestData requestData)
Called when a play command is received.
The default implementation calls
MediaControllerCompat.TransportControls.play()
.
public Task<Void> onPlayAgain (String senderId, RequestData requestData)
Called when assistant requests to play the last media again.
public Task<Void> onQueueInsert (String senderId, QueueInsertRequestData requestData)
Called when a queue insert command is received.
public Task<Void> onQueueRemove (String senderId, QueueRemoveRequestData requestData)
Called when a queue remove command is received.
public Task<Void> onQueueReorder (String senderId, QueueReorderRequestData requestData)
Called when a queue reorder command is received.
public Task<Void> onQueueUpdate (String senderId, QueueUpdateRequestData requestData)
Called when a queue update command is received.
public Task<Void> onSeek (String senderId, SeekRequestData requestData)
Called when a seek command is received.
The default implementation calls
MediaControllerCompat.TransportControls.seekTo(long)
.
public Task<Void> onSelectTracksByType (String senderId, int type, List<MediaTrack> tracks)
Called by default when a track-editing command is received, either
onEditTracksInfo(String, EditTracksInfoData)
or
onEditAudioTracks(String, EditAudioTracksData)
, which requests to change the
selected tracks.
This callback breaks down the original command, and scopes it to individual track
types. Note that the full list of available tracks are obtained from the tracks set on
the top-level MediaInfoModifier
,
which is set via
MediaInfoModifier.setMediaTracks(List)
.
After you update the track selection in your app, you should call
MediaTracksModifier.setActiveTracksByType(int, List)
with
tracks
to update the track selection.
Parameters
senderId | the ID of the sender requesting the change |
---|---|
type | the type of the tracks to be changed |
tracks | the detailed track information for the tracks to be selected |
public Task<Void> onSetPlaybackRate (String senderId, SetPlaybackRateRequestData requestData)
Called when a command is received to set the playback rate.
If the original request has
SetPlaybackRateRequestData.getRelativePlaybackRate()
is specified, it is
automatically translated into
SetPlaybackRateRequestData.getPlaybackRate()
based on the current
MediaStatus
.
public Task<Void> onSetTextTrackStyle (String senderId, TextTrackStyle textTrackStyle)
Called by default when a track-editing command is received, which requests to change the text track style.
This is only called if the
EditTracksInfoData.getTextTrackStyle()
of the original request is
non-null.
public Task<Void> onSkipAd (String senderId, RequestData requestData)
Called when a skip ad command is received.
public Task<Void> onStop (String senderId, RequestData requestData)
Called when a stop command is received.
The default implementation calls
MediaControllerCompat.TransportControls.stop()
.
public Task<Void> onUserAction (String senderId, UserActionRequestData userActionRequestData)
Called when the app receives a user action.
Subclass should return a Task
with a
MediaError
if there is any error when handling the action. Otherwise, return a Task
with
null
.