MediaStatus

public class MediaStatus extends Object
implements Parcelable

A class that holds status information about some media or media queue. The current MediaStatus can be obtained from the RemoteMediaPlayer.

Each media session is associated with a media queue on the receiver application. The list of media items in the current queue as maintained by the receiver can be obtained from getQueueItems(). Media items are assigned a unique item ID. Accessors for individual item and values of properties of the queue are also provided here.

getCurrentItemId(), getLoadingItemId() and getPreloadedItemId() tells which item is playing, which item is loading and which item has been preloaded on the receiver.

Constant Summary

long COMMAND_DISLIKE A flag (bitmask) indicating that dislike is supported.
long COMMAND_EDIT_TRACKS A flag (bitmask) indicating that edit tracks is supported.
long COMMAND_FOLLOW A flag (bitmask) indicating that follow is supported.
long COMMAND_LIKE A flag (bitmask) indicating that like is supported.
long COMMAND_PAUSE A flag (bitmask) indicating that a media item can be paused.
long COMMAND_PLAYBACK_RATE A flag (bitmask) indicating that set playback rate is supported.
long COMMAND_QUEUE_NEXT A flag (bitmask) indicating that a media item supports queuing next.
long COMMAND_QUEUE_PREVIOUS A flag (bitmask) indicating that a media item supports queuing previous.
long COMMAND_QUEUE_REPEAT A flag (bitmask) indicating that queue repeat (repeat all and repeat one) is supported.
long COMMAND_QUEUE_REPEAT_ALL A flag (bitmask) indicating that queue repeat all is supported.
long COMMAND_QUEUE_REPEAT_ONE A flag (bitmask) indicating that queue repeat one is supported.
long COMMAND_QUEUE_SHUFFLE A flag (bitmask) indicating that queue shuffle is supported.
long COMMAND_SEEK A flag (bitmask) indicating that a media item supports seeking.
long COMMAND_SET_VOLUME A flag (bitmask) indicating that a media item's audio volume can be changed.
long COMMAND_SKIP_AD A flag (bitmask) indicating that skip ad is supported.
long COMMAND_SKIP_BACKWARD This constant is deprecated. Use COMMAND_QUEUE_PREVIOUS instead.
long COMMAND_SKIP_FORWARD This constant is deprecated. Use COMMAND_QUEUE_NEXT instead.
long COMMAND_TOGGLE_MUTE A flag (bitmask) indicating that a media item's audio can be muted.
long COMMAND_UNFOLLOW A flag (bitmask) indicating that unfollow is supported.
int IDLE_REASON_CANCELED Constant indicating that the player is idle because playback has been canceled in response to a STOP command.
int IDLE_REASON_ERROR Constant indicating that the player is idle because a playback error has occurred.
int IDLE_REASON_FINISHED Constant indicating that the player is idle because playback has finished.
int IDLE_REASON_INTERRUPTED Constant indicating that the player is idle because playback has been interrupted by a LOAD command.
int IDLE_REASON_NONE Constant indicating that the player currently has no idle reason.
int PLAYER_STATE_BUFFERING Constant indicating that the media player is buffering.
int PLAYER_STATE_IDLE Constant indicating that the media player is idle.
int PLAYER_STATE_LOADING Constant indicating that the media player is loading.
int PLAYER_STATE_PAUSED Constant indicating that the media player is paused.
int PLAYER_STATE_PLAYING Constant indicating that the media player is playing.
int PLAYER_STATE_UNKNOWN Constant indicating unknown player state.
int REPEAT_MODE_REPEAT_ALL Constant indicating that the items in the queue will be played indefinitely.
int REPEAT_MODE_REPEAT_ALL_AND_SHUFFLE Constant indicating that the items in the queue will be played indefinitely, and the order of the items will be randomly shuffled once the last item in the queue finishes.
int REPEAT_MODE_REPEAT_OFF Constant indicating that when the queue is completed the media session is terminated.
int REPEAT_MODE_REPEAT_SINGLE Constant indicating that the current item will be repeated indefinitely.

Inherited Constant Summary

Public Method Summary

boolean
equals(Object other)
long[]
getActiveTrackIds()
Returns the list of active track IDs set by the cast receiver, if any, otherwise null.
AdBreakStatus
getAdBreakStatus()
Returns the received AdBreakStatus.
AdBreakInfo
getCurrentAdBreak()
Returns the AdBreakInfo of the currently playing ad break on the cast receiver.
AdBreakClipInfo
getCurrentAdBreakClip()
Returns the AdBreakClipInfo of the currently playing ad break clip on the cast receiver.
int
getCurrentItemId()
Returns the item ID of the item that that was active in the queue (it may not be playing) at the time the media status change happened.
JSONObject
getCustomData()
Returns any custom data that is associated with the media item.
int
getIdleReason()
Gets the player state idle reason.
Integer
getIndexById(int itemId)
Returns the index of the MediaQueueItem with the given itemId in the playback queue, or null if there is no such item in the queue.
MediaQueueItem
getItemById(int itemId)
Returns the MediaQueueItem of the give item ID.
MediaQueueItem
getItemByIndex(int index)
Returns the MediaQueueItem at index, or null if index is out of bounds.
MediaLiveSeekableRange
getLiveSeekableRange()
Returns the seekable range of a live stream.
int
getLoadingItemId()
Returns the item ID of the item that is currently loading (but isn't active in the queue) on the receiver.
MediaInfo
getMediaInfo()
Returns the MediaInfo for this item.
double
getPlaybackRate()
Gets the current stream playback rate.
int
getPlayerState()
Gets the current media PlayerState.
int
getPreloadedItemId()
If the next item has been preloaded this returns the preloaded item ID.
MediaQueueData
getQueueData()
Returns the last received MediaQueueData.
MediaQueueItem
getQueueItem(int index)
Returns the MediaQueueItem at index, or null if index out of bounds.
MediaQueueItem
getQueueItemById(int itemId)
Returns the MediaQueueItem of the give item ID.
int
getQueueItemCount()
Returns the number of items in the media queue.
List<MediaQueueItem>
getQueueItems()
Returns the list of MediaQueueItem representing the queue as maintained by the receiver as an unmodifiable list.
int
getQueueRepeatMode()
Returns the repeat mode of the media queue.
long
getStreamPosition()
Returns the current stream position, in milliseconds.
double
getStreamVolume()
Returns the stream's volume.
VideoInfo
getVideoInfo()
Returns the last received VideoInfo.
int
boolean
isMediaCommandSupported(long mediaCommand)
Tests if the stream supports a given control command.
boolean
isMute()
Returns the stream's mute state.
boolean
isPlayingAd()
Returns true is the receiver is playing an ad.
void
writeToParcel(Parcel out, int flags)

Inherited Method Summary

Constants

public static final long COMMAND_DISLIKE

A flag (bitmask) indicating that dislike is supported.

Constant Value: 32768

public static final long COMMAND_EDIT_TRACKS

A flag (bitmask) indicating that edit tracks is supported.

Constant Value: 4096

public static final long COMMAND_FOLLOW

A flag (bitmask) indicating that follow is supported.

Constant Value: 65536

public static final long COMMAND_LIKE

A flag (bitmask) indicating that like is supported.

Constant Value: 16384

public static final long COMMAND_PAUSE

A flag (bitmask) indicating that a media item can be paused.

Constant Value: 1

public static final long COMMAND_PLAYBACK_RATE

A flag (bitmask) indicating that set playback rate is supported.

Constant Value: 8192

public static final long COMMAND_QUEUE_NEXT

A flag (bitmask) indicating that a media item supports queuing next.

Constant Value: 64

public static final long COMMAND_QUEUE_PREVIOUS

A flag (bitmask) indicating that a media item supports queuing previous.

Constant Value: 128

public static final long COMMAND_QUEUE_REPEAT

A flag (bitmask) indicating that queue repeat (repeat all and repeat one) is supported.

Constant Value: 3072

public static final long COMMAND_QUEUE_REPEAT_ALL

A flag (bitmask) indicating that queue repeat all is supported.

Constant Value: 1024

public static final long COMMAND_QUEUE_REPEAT_ONE

A flag (bitmask) indicating that queue repeat one is supported.

Constant Value: 2048

public static final long COMMAND_QUEUE_SHUFFLE

A flag (bitmask) indicating that queue shuffle is supported.

Constant Value: 256

public static final long COMMAND_SEEK

A flag (bitmask) indicating that a media item supports seeking.

Constant Value: 2

public static final long COMMAND_SET_VOLUME

A flag (bitmask) indicating that a media item's audio volume can be changed.

Constant Value: 4

public static final long COMMAND_SKIP_AD

A flag (bitmask) indicating that skip ad is supported.

Constant Value: 512

public static final long COMMAND_SKIP_BACKWARD

This constant is deprecated.
Use COMMAND_QUEUE_PREVIOUS instead.

Constant Value: 32

public static final long COMMAND_SKIP_FORWARD

This constant is deprecated.
Use COMMAND_QUEUE_NEXT instead.

Constant Value: 16

public static final long COMMAND_TOGGLE_MUTE

A flag (bitmask) indicating that a media item's audio can be muted.

Constant Value: 8

public static final long COMMAND_UNFOLLOW

A flag (bitmask) indicating that unfollow is supported.

Constant Value: 131072

public static final int IDLE_REASON_CANCELED

Constant indicating that the player is idle because playback has been canceled in response to a STOP command.

Constant Value: 2

public static final int IDLE_REASON_ERROR

Constant indicating that the player is idle because a playback error has occurred.

Constant Value: 4

public static final int IDLE_REASON_FINISHED

Constant indicating that the player is idle because playback has finished.

Constant Value: 1

public static final int IDLE_REASON_INTERRUPTED

Constant indicating that the player is idle because playback has been interrupted by a LOAD command.

Constant Value: 3

public static final int IDLE_REASON_NONE

Constant indicating that the player currently has no idle reason.

Constant Value: 0

public static final int PLAYER_STATE_BUFFERING

Constant indicating that the media player is buffering.

Constant Value: 4

public static final int PLAYER_STATE_IDLE

Constant indicating that the media player is idle. The idle reason can be determined by getIdleReason().

Constant Value: 1

public static final int PLAYER_STATE_LOADING

Constant indicating that the media player is loading.

Constant Value: 5

public static final int PLAYER_STATE_PAUSED

Constant indicating that the media player is paused.

Constant Value: 3

public static final int PLAYER_STATE_PLAYING

Constant indicating that the media player is playing.

Constant Value: 2

public static final int PLAYER_STATE_UNKNOWN

Constant indicating unknown player state.

Constant Value: 0

public static final int REPEAT_MODE_REPEAT_ALL

Constant indicating that the items in the queue will be played indefinitely.

Constant Value: 1

public static final int REPEAT_MODE_REPEAT_ALL_AND_SHUFFLE

Constant indicating that the items in the queue will be played indefinitely, and the order of the items will be randomly shuffled once the last item in the queue finishes. The queue will continue to play starting from the first item of the shuffled items.

Constant Value: 3

public static final int REPEAT_MODE_REPEAT_OFF

Constant indicating that when the queue is completed the media session is terminated.

Constant Value: 0

public static final int REPEAT_MODE_REPEAT_SINGLE

Constant indicating that the current item will be repeated indefinitely.

Constant Value: 2

Public Methods

public boolean equals (Object other)

public long[] getActiveTrackIds ()

Returns the list of active track IDs set by the cast receiver, if any, otherwise null.

public AdBreakStatus getAdBreakStatus ()

Returns the received AdBreakStatus.

public AdBreakInfo getCurrentAdBreak ()

Returns the AdBreakInfo of the currently playing ad break on the cast receiver. If the cast receiver is not playing an ad break, null will be returned.

public AdBreakClipInfo getCurrentAdBreakClip ()

Returns the AdBreakClipInfo of the currently playing ad break clip on the cast receiver. If the cast receiver is not playing an ad break clip, null will be returned.

public int getCurrentItemId ()

Returns the item ID of the item that that was active in the queue (it may not be playing) at the time the media status change happened.

public JSONObject getCustomData ()

Returns any custom data that is associated with the media item.

public int getIdleReason ()

Gets the player state idle reason. This value is only meaningful if the player state is in fact PLAYER_STATE_IDLE.

public Integer getIndexById (int itemId)

Returns the index of the MediaQueueItem with the given itemId in the playback queue, or null if there is no such item in the queue.

public MediaQueueItem getItemById (int itemId)

Returns the MediaQueueItem of the give item ID. Returns null if not found.

public MediaQueueItem getItemByIndex (int index)

Returns the MediaQueueItem at index, or null if index is out of bounds.

public MediaLiveSeekableRange getLiveSeekableRange ()

Returns the seekable range of a live stream. If the current media is live stream and this method returns null, then the stream is not seekable.

public int getLoadingItemId ()

Returns the item ID of the item that is currently loading (but isn't active in the queue) on the receiver. Returns MediaQueueItem.INVALID_ITEM_ID if no item is currently loading.

public MediaInfo getMediaInfo ()

Returns the MediaInfo for this item.

public double getPlaybackRate ()

Gets the current stream playback rate. This will be negative if the stream is seeking backwards, 0 if the stream is paused, 1 if the stream is playing normally, and some other positive value if the stream is seeking forwards.

public int getPlayerState ()

Gets the current media PlayerState. The media player state is retrieved from the receiver.

public int getPreloadedItemId ()

If the next item has been preloaded this returns the preloaded item ID. Otherwise returns MediaQueueItem.INVALID_ITEM_ID.

public MediaQueueData getQueueData ()

Returns the last received MediaQueueData.

public MediaQueueItem getQueueItem (int index)

Returns the MediaQueueItem at index, or null if index out of bounds.

public MediaQueueItem getQueueItemById (int itemId)

Returns the MediaQueueItem of the give item ID. Returns null if not found.

public int getQueueItemCount ()

Returns the number of items in the media queue.

public List<MediaQueueItem> getQueueItems ()

Returns the list of MediaQueueItem representing the queue as maintained by the receiver as an unmodifiable list.

public int getQueueRepeatMode ()

Returns the repeat mode of the media queue.

public long getStreamPosition ()

Returns the current stream position, in milliseconds.

public double getStreamVolume ()

Returns the stream's volume.

public VideoInfo getVideoInfo ()

Returns the last received VideoInfo. If the video information of the current media was not received from the cast receiver, null will be returned.

public int hashCode ()

public boolean isMediaCommandSupported (long mediaCommand)

Tests if the stream supports a given control command.

Parameters
mediaCommand The media command.
Returns
  • true if the command is supported, false otherwise.

public boolean isMute ()

Returns the stream's mute state.

public boolean isPlayingAd ()

Returns true is the receiver is playing an ad.

public void writeToParcel (Parcel out, int flags)