java.lang.Object | |
↳ | com.google.android.gms.cast.framework.media.RemoteMediaClient |
Class for controlling a media player application running on a receiver.
Some operations, like loading of media or adjusting volume, can be tracked. The corresponding
methods return a PendingResult
for this purpose. In case of error, such as having lost
the connection to the service, the PendingResult
will provide a status of
FAILED
.
Any media session created by calling load(MediaInfo)
or queueLoad(MediaQueueItem[], int, int, long, JSONObject)
will be associated with
a queue on the receiver application. If the media session is created by calling load(MediaInfo)
,
then the media queue is a non-repeatable queue with a single item, and other queuing related
operations such as queueInsertItems(MediaQueueItem[], int, JSONObject)
and queueUpdateItems(MediaQueueItem[], JSONObject)
can still be applied
on top of it.
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
RemoteMediaClient.Listener | The listener interface for tracking player status changes. | ||||||||||
RemoteMediaClient.MediaChannelResult | Result of a media command. | ||||||||||
RemoteMediaClient.ParseAdsInfoCallback | The callback interface for parsing ads information from the custom data inside the
MediaStatus . |
||||||||||
RemoteMediaClient.ProgressListener | The listener interface for getting updates on the progress of the currently playing media. |
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | RESUME_STATE_PAUSE | A resume state indicating that the player should be paused, regardless of its current state. | |||||||||
int | RESUME_STATE_PLAY | A resume state indicating that the player should be playing, regardless of its current state. | |||||||||
int | RESUME_STATE_UNCHANGED | A resume state indicating that the player state should be left unchanged. | |||||||||
int | STATUS_FAILED | A status indicating that a request failed. | |||||||||
int | STATUS_REPLACED | A status indicating that the request's progress is no longer being tracked because another request of the same type has been made before the first request completed. | |||||||||
int | STATUS_SUCCEEDED | A status indicating that a request completed successfully. |
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
NAMESPACE | Returns the namespace used by the RemoteMediaClient to send media commands. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Adds the
RemoteMediaClient.Listener to get status updates. | |||||||||||
Adds the
RemoteMediaClient.ProgressListener to the progress updates. | |||||||||||
Returns the approximate stream position as calculated from the last received stream
information and the elapsed wall-time since that update.
| |||||||||||
Returns the current item in the queue, or
null if the queue is empty. | |||||||||||
Returns the current idle reason.
| |||||||||||
Returns the currently loading item in the queue, or
null if no item is being loaded. | |||||||||||
Returns the current media information, or
null if there isn't a media session. | |||||||||||
Returns the current media status, or
null if there isn't a media session. | |||||||||||
Returns the media control namespace.
| |||||||||||
Returns the current player state.
| |||||||||||
Returns the currently preloaded item in the queue, or
null if no item has been
preloaded. | |||||||||||
Convenience method for getting the stream duration.
| |||||||||||
Returns
true if there is a media session, that is, media is loaded on the remote
receiver. | |||||||||||
Returns
true if the current media is buffering. | |||||||||||
Returns
true if the currently loaded media is a live stream, otherwise returns
false . | |||||||||||
Returns
true if the next item is being loaded. | |||||||||||
Returns
true if the current media is paused. | |||||||||||
Returns
true if the current media is playing. | |||||||||||
Returns
true if an ad is playing. | |||||||||||
Loads and optionally starts playback of a new media item.
| |||||||||||
Loads and optionally starts playback of a new media item.
| |||||||||||
Loads and automatically starts playback of a new media item.
| |||||||||||
Loads and optionally starts playback of a new media item.
| |||||||||||
Loads and optionally starts playback of a new media item.
| |||||||||||
Called when a message is received from a given
CastDevice . | |||||||||||
Pauses playback of the current media item.
| |||||||||||
Pauses playback of the current media item.
| |||||||||||
Begins (or resumes) playback of the current media item.
| |||||||||||
Begins (or resumes) playback of the current media item.
| |||||||||||
Appends a new media item to the end of the queue.
| |||||||||||
A convenience method that inserts a single item into the queue and starts playing it at the
specified position.
| |||||||||||
A convenience method that inserts a single item into the queue and starts playing it.
| |||||||||||
Inserts a list of new media items into the queue.
| |||||||||||
Plays the item with
itemId in the queue. | |||||||||||
Plays the item with
itemId in the queue. | |||||||||||
Loads and optionally starts playback of a new queue of media items.
| |||||||||||
Loads and optionally starts playback of a new queue of media items.
| |||||||||||
Moves the item with
itemId to a new position in the queue. | |||||||||||
Jumps to the next item in the queue.
| |||||||||||
Jumps to the previous item in the queue.
| |||||||||||
Removes the item with
itemId from the queue. | |||||||||||
Removes a list of items from the queue.
| |||||||||||
Reorder a list of media items in the queue.
| |||||||||||
Sets the repeat mode of the queue.
| |||||||||||
Updates properties of a subset of the existing items in the media queue.
| |||||||||||
Removes the
RemoteMediaClient.Listener . | |||||||||||
Removes the
RemoteMediaClient.ProgressListener . | |||||||||||
Requests updated media status information from the receiver.
| |||||||||||
Seeks to a new position within the current media item.
| |||||||||||
Seeks to a new position within the current media item.
| |||||||||||
Seeks to a new position within the current media item.
| |||||||||||
Sets the active media tracks.
| |||||||||||
Toggles the stream muting.
| |||||||||||
Toggles the stream muting.
| |||||||||||
Sets the stream volume.
| |||||||||||
Sets the stream volume of the current media item.
| |||||||||||
Sets the text track style.
| |||||||||||
Stops playback of the current media item.
| |||||||||||
Stops playback of the current media item.
| |||||||||||
Toggles remote media playback.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() |
A resume state indicating that the player should be paused, regardless of its current state.
A resume state indicating that the player should be playing, regardless of its current state.
A resume state indicating that the player state should be left unchanged.
A status indicating that a request failed. Equivalent to CastStatusCodes.FAILED
.
A status indicating that the request's progress is no longer being tracked because another
request of the same type has been made before the first request completed. This applies to
requests such as volume change, where a new request invalidates the results of a previous
one. Equivalent to CastStatusCodes.REPLACED
.
A status indicating that a request completed successfully. Equivalent to
CastStatusCodes.SUCCESS
.
Returns the namespace used by the RemoteMediaClient
to send media commands.
Adds the RemoteMediaClient.Listener
to get status updates.
Parameters | |
---|---|
listener |
RemoteMediaClient.Listener
|
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Adds the RemoteMediaClient.ProgressListener
to the progress updates. A registered listener can not be
registered again with a different period. You must remove the existing listener first by
calling removeProgressListener(ProgressListener)
.
Parameters | |
---|---|
listener |
RemoteMediaClient.ProgressListener :
The RemoteMediaClient.ProgressListener . |
periodMs |
long :
Amount of time in milliseconds between subsequent updates. |
Returns | |
---|---|
boolean |
true if listener is added. Returns false if listener
was added before. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Returns the approximate stream position as calculated from the last received stream information and the elapsed wall-time since that update.
Returns | |
---|---|
long |
The approximate stream position, in milliseconds. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Returns the current item in the queue, or null
if the queue is empty.
Returns | |
---|---|
MediaQueueItem |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Returns the current idle reason.
Returns | |
---|---|
int |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Returns the currently loading item in the queue, or null
if no item is being loaded.
Returns | |
---|---|
MediaQueueItem |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Returns the current media information, or null
if there isn't a media session.
Returns | |
---|---|
MediaInfo |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Returns the current media status, or null
if there isn't a media session.
Returns | |
---|---|
MediaStatus |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Returns the media control namespace.
Returns | |
---|---|
String |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Returns the current player state. One of PLAYER_STATE_UNKNOWN
,
PLAYER_STATE_IDLE
, PLAYER_STATE_BUFFERING
,
PLAYER_STATE_PAUSED
and PLAYER_STATE_PLAYING
.
Returns | |
---|---|
int |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Returns the currently preloaded item in the queue, or null
if no item has been
preloaded.
Returns | |
---|---|
MediaQueueItem |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Convenience method for getting the stream duration.
Returns | |
---|---|
long |
The stream duration, in milliseconds. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Returns true
if there is a media session, that is, media is loaded on the remote
receiver. Otherwise returns false
.
Returns | |
---|---|
boolean |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Returns true
if the current media is buffering.
Returns | |
---|---|
boolean |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Returns true
if the currently loaded media is a live stream, otherwise returns
false
.
Returns | |
---|---|
boolean |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Returns true
if the next item is being loaded.
Returns | |
---|---|
boolean |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Returns true
if the current media is paused.
Returns | |
---|---|
boolean |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Returns true
if the current media is playing.
Returns | |
---|---|
boolean |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Returns true
if an ad is playing.
Returns | |
---|---|
boolean |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Loads and optionally starts playback of a new media item. The media item starts playback at
playPosition
.
Parameters | |
---|---|
mediaInfo |
MediaInfo :
An object describing the media item to load. Must not be null . |
autoplay |
boolean :
Whether playback should start immediately. |
playPosition |
long :
The initial playback position, in milliseconds from the beginning of the
stream. |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Loads and optionally starts playback of a new media item. The media item starts playback at
playPosition
. This method optionally sends custom data as a JSONObject
with
the load request. Also, it optionally sends an array of track IDs that should be active. If
the array is not provided, the default tracks will be used.
Parameters | |
---|---|
mediaInfo |
MediaInfo :
An object describing the media item to load. Must not be null . |
autoplay |
boolean :
Whether playback should start immediately. |
playPosition |
long :
The initial playback position, in milliseconds from the beginning of the
stream. |
activeTrackIds |
long :
The list of track IDs to use when loading the media, may be
null . |
customData |
JSONObject :
Custom application-specific data to pass along with the request, may be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Loads and automatically starts playback of a new media item.
Parameters | |
---|---|
mediaInfo |
MediaInfo :
An object describing the media item to load. Must not be null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Loads and optionally starts playback of a new media item. The media item starts playback at
playPosition
. This method optionally sends custom data as a JSONObject
with
the load request.
Parameters | |
---|---|
mediaInfo |
MediaInfo :
An object describing the media item to load. Must not be null . |
autoplay |
boolean :
Whether playback should start immediately. |
playPosition |
long :
The initial playback position, in milliseconds from the beginning of the
stream. |
customData |
JSONObject :
Custom application-specific data to pass along with the request, may be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Loads and optionally starts playback of a new media item.
Parameters | |
---|---|
mediaInfo |
MediaInfo :
An object describing the media item to load. Must not be null . |
autoplay |
boolean :
Whether playback should start immediately. |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Called when a message is received from a given CastDevice
.
Parameters | |
---|---|
castDevice |
CastDevice :
The castDevice from whence the message originated. |
namespace |
String :
The namespace of the received message. |
message |
String :
The received payload for the message.
|
Pauses playback of the current media item.
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Pauses playback of the current media item.
Parameters | |
---|---|
customData |
JSONObject :
Custom application-specific data to pass along with the request, may be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Begins (or resumes) playback of the current media item.
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Begins (or resumes) playback of the current media item.
Parameters | |
---|---|
customData |
JSONObject :
Custom application-specific data to pass along with the request, may be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Appends a new media item to the end of the queue.
Parameters | |
---|---|
item |
MediaQueueItem :
The item to append. Must not be null . |
customData |
JSONObject :
Custom application-specific data to pass along with the request. May be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
IllegalArgumentException |
A convenience method that inserts a single item into the queue and starts playing it at the specified position.
Parameters | |
---|---|
item |
MediaQueueItem :
The item to insert. Must not be null . |
insertBeforeItemId |
int :
ID of the item that will be located immediately after the inserted
item. If the value is INVALID_ITEM_ID , or
no item with this ID can be found, the inserted item will be
appended to the end of the queue. |
playPosition |
long :
The initial playback position for the item when it is first played, in
milliseconds from the beginning of the stream. This value is ignored when
the same item is played again, for example, when the queue repeats, or
this item is later jumped to. In those cases the item's startTime
is used. |
customData |
JSONObject :
Custom application-specific data to pass along with the request. May be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalArgumentException |
If playPosition is negative. |
IllegalStateException |
If this method is not called on the main thread. |
A convenience method that inserts a single item into the queue and starts playing it.
Parameters | |
---|---|
item |
MediaQueueItem :
The item to insert. Must not be null . |
insertBeforeItemId |
int :
ID of the item that will be located immediately after the inserted
item. If the value is INVALID_ITEM_ID , or
no item with this ID can be found, the inserted item will be
appended to the end of the queue. |
customData |
JSONObject :
Custom application-specific data to pass along with the request. May be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Inserts a list of new media items into the queue.
Parameters | |
---|---|
itemsToInsert |
MediaQueueItem :
List of items to insert into the queue, in the order that they should be
played. The itemId field of the items should be unassigned or the
request will fail with an INVALID_PARAMS error. Must not be null
or empty. |
insertBeforeItemId |
int :
ID of the item that will be located immediately after the inserted
list. If the value is INVALID_ITEM_ID or
invalid, the inserted list will be appended to the end of the
queue. |
customData |
JSONObject :
Custom application-specific data to pass along with the request. May be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalArgumentException |
If itemsToInsert is null or empty. |
IllegalStateException |
If this method is not called on the main thread. |
Plays the item with itemId
in the queue.
If itemId
is not found in the queue, this method will report success without sending
a request to the receiver.
Parameters | |
---|---|
itemId |
int :
The ID of the item to which to jump. |
customData |
JSONObject :
Custom application-specific data to pass along with the request. May be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Plays the item with itemId
in the queue. The media item starts playback at
playPosition
.
If itemId
is not found in the queue, this method will report success without sending
a request to the receiver.
Parameters | |
---|---|
itemId |
int :
The ID of the item to which to jump. |
playPosition |
long :
The initial playback position for the item when it is first played, in
milliseconds from the beginning of the stream. This value is ignored when
the same item is played again, for example, when the queue repeats, or
this item is later jumped to. In those cases the item's startTime
is used. |
customData |
JSONObject :
Custom application-specific data to pass along with the request. May be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalArgumentException |
If playPosition is negative. |
IllegalStateException |
If this method is not called on the main thread. |
Loads and optionally starts playback of a new queue of media items. The media item at
startIndex
starts playback at playPosition
.
Parameters | |
---|---|
items |
MediaQueueItem :
Array of items to load, in the order that they should be played. Must not be
null or empty. |
startIndex |
int :
The array index of the item in the items array that should be
played first (that is, it will become the currentItem). If
repeatMode is REPEAT_MODE_REPEAT_OFF playback
will end when the last item in the array is played.
This may be useful for continuation scenarios where the user was already using the sender application and in the middle decides to cast. This lets the sender application avoid mapping between the local and remote queue positions and/or avoid issuing an extra request to update the queue. This value must be less than the length of items . |
repeatMode |
int :
The repeat playback mode for the queue. One of
REPEAT_MODE_REPEAT_OFF ,
REPEAT_MODE_REPEAT_ALL ,
REPEAT_MODE_REPEAT_SINGLE or
REPEAT_MODE_REPEAT_ALL_AND_SHUFFLE . |
playPosition |
long :
The initial playback position for the item at startIndex when it
is first played, in milliseconds from the beginning of the stream. This
value is ignored if the same item is played again, for example, when the
queue repeats, or this item is later jumped to. In those cases the item's
startTime is used. |
customData |
JSONObject :
Custom application-specific data to pass along with the request. May be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalArgumentException |
If items is null or empty,
startIndex is out of range, or playPosition
is negative. |
IllegalStateException |
If this method is not called on the main thread. |
Loads and optionally starts playback of a new queue of media items.
Parameters | |
---|---|
items |
MediaQueueItem :
Array of items to load, in the order that they should be played. Must not be
null or empty. |
startIndex |
int :
The array index of the item in the items array that should be
played first (that is, it will become the currentItem). If
repeatMode is REPEAT_MODE_REPEAT_OFF playback
will end when the last item in the array is played.
This may be useful for continuation scenarios where the user was already using the sender application and in the middle decides to cast. This lets the sender application avoid mapping between the local and remote queue positions and/or avoid issuing an extra request to update the queue. This value must be less than the length of items . |
repeatMode |
int :
The repeat playback mode for the queue. One of
REPEAT_MODE_REPEAT_OFF ,
REPEAT_MODE_REPEAT_ALL ,
REPEAT_MODE_REPEAT_SINGLE or
REPEAT_MODE_REPEAT_ALL_AND_SHUFFLE . |
customData |
JSONObject :
Custom application-specific data to pass along with the request. May be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalArgumentException |
If items is null or empty, or
startIndex is out of range. |
IllegalStateException |
If this method is not called on the main thread. |
Moves the item with itemId
to a new position in the queue.
If itemId
is not found in the queue, either because it wasn't there originally or it
was removed by another sender before calling this method, this method will silently return
without sending a request to the receiver.
Parameters | |
---|---|
itemId |
int :
The ID of the item to be moved. |
newIndex |
int :
The new index of the item. If the value is negative, an error
INVALID_REQUEST will be returned. If the value is out
of bounds, or becomes out of bounds because the queue was shortened by
another sender while this request is in progress, the item will be moved to
the end of the queue. |
customData |
JSONObject :
Custom application-specific data to pass along with the request. May be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Jumps to the next item in the queue.
Parameters | |
---|---|
customData |
JSONObject :
Custom application-specific data to pass along with the request. May be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Jumps to the previous item in the queue.
Parameters | |
---|---|
customData |
JSONObject :
Custom application-specific data to pass along with the request. May be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Removes the item with itemId
from the queue.
If itemId
is not found in the queue, this method will silently return without sending
a request to the receiver. A itemId
may not be in the queue because it wasn't
originally in the queue, or it was removed by another sender.
Parameters | |
---|---|
itemId |
int :
The ID of the item to be removed. |
customData |
JSONObject :
Custom application-specific data to pass along with the request. May be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Removes a list of items from the queue. If the remaining queue is empty, the media session will be terminated.
Parameters | |
---|---|
itemIdsToRemove |
int :
The list of media item IDs to remove. Must not be null or
empty. |
customData |
JSONObject :
Custom application-specific data to pass along with the request. May be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
IllegalArgumentException |
Reorder a list of media items in the queue.
Parameters | |
---|---|
itemIdsToReorder |
int :
The list of media item IDs to reorder, in the new order. Any other
items currently in the queue will maintain their existing order. The
list will be inserted just before the item specified by
insertBeforeItemId , or at the end of the queue if
insertBeforeItemId is INVALID_ITEM_ID .
For example:
If insertBeforeItemId is not specified
If insertBeforeItemId is "A"
If insertBeforeItemId is "G"
Items that do not exist will be ignored
Must not be |
insertBeforeItemId |
int :
ID of the item that will be located immediately after the reordered
list. If set to INVALID_ITEM_ID , the
reordered list will be appended at the end of the queue. |
customData |
JSONObject :
Custom application-specific data to pass along with the request. May be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
IllegalArgumentException |
Sets the repeat mode of the queue.
Parameters | |
---|---|
repeatMode |
int :
The repeat playback mode for the queue. One of
REPEAT_MODE_REPEAT_OFF ,
REPEAT_MODE_REPEAT_ALL ,
REPEAT_MODE_REPEAT_SINGLE or
REPEAT_MODE_REPEAT_ALL_AND_SHUFFLE . |
customData |
JSONObject :
Custom application-specific data to pass along with the request. May be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Updates properties of a subset of the existing items in the media queue.
Parameters | |
---|---|
itemsToUpdate |
MediaQueueItem :
List of queue items to be updated. The items will retain the existing
order and will be fully replaced with the ones provided, including the
media information. Any other items currently in the queue will remain
unchanged. The tracks information can not change once the item is loaded
(if the item is the currentItem). Items that do not exist will be
ignored. |
customData |
JSONObject :
Custom application-specific data to pass along with the request. May be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Removes the RemoteMediaClient.Listener
.
Parameters | |
---|---|
listener |
RemoteMediaClient.Listener
|
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Removes the RemoteMediaClient.ProgressListener
.
Parameters | |
---|---|
listener |
RemoteMediaClient.ProgressListener
|
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Requests updated media status information from the receiver. RemoteMediaClient.Listener
callback will be triggered, when the updated media status has been received. This will also
update the internal state of the RemoteMediaClient
object with the current state of
the receiver, including the current session ID. This method should be called when joining an
application that supports the media control namespace.
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Seeks to a new position within the current media item.
Parameters | |
---|---|
position |
long :
The new position, in milliseconds from the beginning of the stream. |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Seeks to a new position within the current media item.
Parameters | |
---|---|
position |
long :
The new position, in milliseconds from the beginning of the stream. |
resumeState |
int :
The action to take after the seek operation has finished. |
customData |
JSONObject :
Custom application-specific data to pass along with the request, may be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Seeks to a new position within the current media item.
Parameters | |
---|---|
position |
long :
The new position, in milliseconds from the beginning of the stream. |
resumeState |
int :
The action to take after the seek operation has finished. One of
RESUME_STATE_UNCHANGED , RESUME_STATE_PAUSE , and
RESUME_STATE_PLAY . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Sets the active media tracks.
Parameters | |
---|---|
trackIds |
long :
The media track IDs. If an empty array, the current set of active
trackIds will be removed. |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalArgumentException |
If trackIds is null . |
IllegalStateException |
If this method is not called on the main thread. |
Sets a RemoteMediaClient.ParseAdsInfoCallback
. This callback will be invoked by this call before any
RemoteMediaClient.Listener
instances are invoked. This gives sender app a chance to parse information
about Ads from the custom data field inside the current MediaStatus
.
The returned values of the callback methods will be used by the framework to render Ads on
various framework provided UIs.
Parameters | |
---|---|
callback |
RemoteMediaClient.ParseAdsInfoCallback
|
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Toggles the stream muting.
Parameters | |
---|---|
muted |
boolean :
true if the stream should be muted. false if the stream should
be unmuted. |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Toggles the stream muting.
Parameters | |
---|---|
muted |
boolean :
true if the stream should be muted. false if the stream should
be unmuted. |
customData |
JSONObject :
Custom application-specific data to pass along with the request, may be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Sets the stream volume. If volume
is outside of the range [0.0, 1.0], then the value
will be clipped.
Parameters | |
---|---|
volume |
double :
The new volume, in the range [0.0 - 1.0]. |
customData |
JSONObject :
Custom application-specific data to pass along with the request, may be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalArgumentException |
If the volume is infinity or NaN. |
IllegalStateException |
If this method is not called on the main thread. |
Sets the stream volume of the current media item. When the stream volume has been updated,
onStatusUpdated()
will be called.
Parameters | |
---|---|
volume |
double :
The new volume, in the range [0.0 - 1.0]. |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalArgumentException |
If the volume is infinity or NaN. |
IllegalStateException |
If this method is not called on the main thread. |
Sets the text track style.
Parameters | |
---|---|
trackStyle |
TextTrackStyle :
The track style. Must not be null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalArgumentException |
If the trackStyle is null . |
IllegalStateException |
If this method is not called on the main thread. |
Stops playback of the current media item.
Parameters | |
---|---|
customData |
JSONObject :
Custom application-specific data to pass along with the request, may be
null . |
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Stops playback of the current media item.
Returns | |
---|---|
PendingResult<RemoteMediaClient.MediaChannelResult> |
A PendingResult which can be used to track the progress of the request. |
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |
Toggles remote media playback.
Throws | |
---|---|
IllegalStateException |
If this method is not called on the main thread. |