belongs to Maven artifact com.android.support:support-media-compat:28.0.0-alpha1
PlaybackStateCompat
public
final
class
PlaybackStateCompat
extends Object
implements
Parcelable
java.lang.Object | |
↳ | android.support.v4.media.session.PlaybackStateCompat |
Playback state for a MediaSessionCompat
. This includes a state like
STATE_PLAYING
, the current playback position,
and the current control capabilities.
Summary
Nested classes | |
---|---|
class |
PlaybackStateCompat.Builder
Builder for |
class |
PlaybackStateCompat.CustomAction
|
Constants | |
---|---|
long |
ACTION_FAST_FORWARD
Indicates this session supports the fast forward command. |
long |
ACTION_PAUSE
Indicates this session supports the pause command. |
long |
ACTION_PLAY
Indicates this session supports the play command. |
long |
ACTION_PLAY_FROM_MEDIA_ID
Indicates this session supports the play from media id command. |
long |
ACTION_PLAY_FROM_SEARCH
Indicates this session supports the play from search command. |
long |
ACTION_PLAY_FROM_URI
Indicates this session supports the play from URI command. |
long |
ACTION_PLAY_PAUSE
Indicates this session supports the play/pause toggle command. |
long |
ACTION_PREPARE
Indicates this session supports the prepare command. |
long |
ACTION_PREPARE_FROM_MEDIA_ID
Indicates this session supports the prepare from media id command. |
long |
ACTION_PREPARE_FROM_SEARCH
Indicates this session supports the prepare from search command. |
long |
ACTION_PREPARE_FROM_URI
Indicates this session supports the prepare from URI command. |
long |
ACTION_REWIND
Indicates this session supports the rewind command. |
long |
ACTION_SEEK_TO
Indicates this session supports the seek to command. |
long |
ACTION_SET_CAPTIONING_ENABLED
Indicates this session supports the set captioning enabled command. |
long |
ACTION_SET_RATING
Indicates this session supports the set rating command. |
long |
ACTION_SET_REPEAT_MODE
Indicates this session supports the set repeat mode command. |
long |
ACTION_SET_SHUFFLE_MODE
Indicates this session supports the set shuffle mode command. |
long |
ACTION_SET_SHUFFLE_MODE_ENABLED
This constant was deprecated
in API level 27.1.0.
Use |
long |
ACTION_SKIP_TO_NEXT
Indicates this session supports the next command. |
long |
ACTION_SKIP_TO_PREVIOUS
Indicates this session supports the previous command. |
long |
ACTION_SKIP_TO_QUEUE_ITEM
Indicates this session supports the skip to queue item command. |
long |
ACTION_STOP
Indicates this session supports the stop command. |
int |
ERROR_CODE_ACTION_ABORTED
Error code when the action is interrupted due to some external event. |
int |
ERROR_CODE_APP_ERROR
Error code when the application state is invalid to fulfill the request. |
int |
ERROR_CODE_AUTHENTICATION_EXPIRED
Error code when the request cannot be performed because authentication has expired. |
int |
ERROR_CODE_CONCURRENT_STREAM_LIMIT
Error code when too many concurrent streams are detected. |
int |
ERROR_CODE_CONTENT_ALREADY_PLAYING
Error code when the requested content is already playing. |
int |
ERROR_CODE_END_OF_QUEUE
Error code when the playback navigation (previous, next) is not possible because the queue was exhausted. |
int |
ERROR_CODE_NOT_AVAILABLE_IN_REGION
Error code when the content is blocked due to being regionally unavailable. |
int |
ERROR_CODE_NOT_SUPPORTED
Error code when the request is not supported by the application. |
int |
ERROR_CODE_PARENTAL_CONTROL_RESTRICTED
Error code when the content is blocked due to parental controls. |
int |
ERROR_CODE_PREMIUM_ACCOUNT_REQUIRED
Error code when a premium account is required for the request to succeed. |
int |
ERROR_CODE_SKIP_LIMIT_REACHED
Error code when the application cannot skip any more songs because skip limit is reached. |
int |
ERROR_CODE_UNKNOWN_ERROR
This is the default error code and indicates that none of the other error codes applies. |
long |
PLAYBACK_POSITION_UNKNOWN
Use this value for the position to indicate the position is not known. |
int |
REPEAT_MODE_ALL
Use this value with |
int |
REPEAT_MODE_GROUP
Use this value with |
int |
REPEAT_MODE_INVALID
|
int |
REPEAT_MODE_NONE
Use this value with |
int |
REPEAT_MODE_ONE
Use this value with |
int |
SHUFFLE_MODE_ALL
Use this value with |
int |
SHUFFLE_MODE_GROUP
Use this value with |
int |
SHUFFLE_MODE_INVALID
|
int |
SHUFFLE_MODE_NONE
Use this value with |
int |
STATE_BUFFERING
State indicating this item is currently buffering and will begin playing when enough data has buffered. |
int |
STATE_CONNECTING
State indicating the class doing playback is currently connecting to a route. |
int |
STATE_ERROR
State indicating this item is currently in an error state. |
int |
STATE_FAST_FORWARDING
State indicating this item is currently fast forwarding. |
int |
STATE_NONE
This is the default playback state and indicates that no media has been added yet, or the performer has been reset and has no content to play. |
int |
STATE_PAUSED
State indicating this item is currently paused. |
int |
STATE_PLAYING
State indicating this item is currently playing. |
int |
STATE_REWINDING
State indicating this item is currently rewinding. |
int |
STATE_SKIPPING_TO_NEXT
State indicating the player is currently skipping to the next item. |
int |
STATE_SKIPPING_TO_PREVIOUS
State indicating the player is currently skipping to the previous item. |
int |
STATE_SKIPPING_TO_QUEUE_ITEM
State indicating the player is currently skipping to a specific item in the queue. |
int |
STATE_STOPPED
State indicating this item is currently stopped. |
Inherited constants |
---|
From
interface
android.os.Parcelable
|
Fields | |
---|---|
public
static
final
Creator<PlaybackStateCompat> |
CREATOR
|
Public methods | |
---|---|
int
|
describeContents()
|
static
PlaybackStateCompat
|
fromPlaybackState(Object stateObj)
Creates an instance from a framework |
long
|
getActions()
Get the current actions available on this session. |
long
|
getActiveQueueItemId()
Get the id of the currently active item in the queue. |
long
|
getBufferedPosition()
Get the current buffered position in ms. |
List<PlaybackStateCompat.CustomAction>
|
getCustomActions()
Get the list of custom actions. |
int
|
getErrorCode()
Get the error code. |
CharSequence
|
getErrorMessage()
Get the user readable optional error message. |
Bundle
|
getExtras()
Get any custom extras that were set on this playback state. |
long
|
getLastPositionUpdateTime()
Get the elapsed real time at which position was last updated. |
float
|
getPlaybackSpeed()
Get the current playback speed as a multiple of normal playback. |
Object
|
getPlaybackState()
Gets the underlying framework |
long
|
getPosition()
Get the current playback position in ms. |
int
|
getState()
Get the current state of playback. |
static
int
|
toKeyCode(long action)
Translates a given action into a matched key code defined in |
String
|
toString()
|
void
|
writeToParcel(Parcel dest, int flags)
|
Inherited methods | |
---|---|
From
class
java.lang.Object
| |
From
interface
android.os.Parcelable
|
Constants
ACTION_FAST_FORWARD
long ACTION_FAST_FORWARD
Indicates this session supports the fast forward command.
See also:
Constant Value: 64 (0x0000000000000040)
ACTION_PAUSE
long ACTION_PAUSE
Indicates this session supports the pause command.
See also:
Constant Value: 2 (0x0000000000000002)
ACTION_PLAY
long ACTION_PLAY
Indicates this session supports the play command.
See also:
Constant Value: 4 (0x0000000000000004)
ACTION_PLAY_FROM_MEDIA_ID
long ACTION_PLAY_FROM_MEDIA_ID
Indicates this session supports the play from media id command.
See also:
Constant Value: 1024 (0x0000000000000400)
ACTION_PLAY_FROM_SEARCH
long ACTION_PLAY_FROM_SEARCH
Indicates this session supports the play from search command.
See also:
Constant Value: 2048 (0x0000000000000800)
ACTION_PLAY_FROM_URI
long ACTION_PLAY_FROM_URI
Indicates this session supports the play from URI command.
See also:
Constant Value: 8192 (0x0000000000002000)
ACTION_PLAY_PAUSE
long ACTION_PLAY_PAUSE
Indicates this session supports the play/pause toggle command.
See also:
Constant Value: 512 (0x0000000000000200)
ACTION_PREPARE
long ACTION_PREPARE
Indicates this session supports the prepare command.
See also:
Constant Value: 16384 (0x0000000000004000)
ACTION_PREPARE_FROM_MEDIA_ID
long ACTION_PREPARE_FROM_MEDIA_ID
Indicates this session supports the prepare from media id command.
See also:
Constant Value: 32768 (0x0000000000008000)
ACTION_PREPARE_FROM_SEARCH
long ACTION_PREPARE_FROM_SEARCH
Indicates this session supports the prepare from search command.
See also:
Constant Value: 65536 (0x0000000000010000)
ACTION_PREPARE_FROM_URI
long ACTION_PREPARE_FROM_URI
Indicates this session supports the prepare from URI command.
See also:
Constant Value: 131072 (0x0000000000020000)
ACTION_REWIND
long ACTION_REWIND
Indicates this session supports the rewind command.
See also:
Constant Value: 8 (0x0000000000000008)
ACTION_SEEK_TO
long ACTION_SEEK_TO
Indicates this session supports the seek to command.
See also:
Constant Value: 256 (0x0000000000000100)
ACTION_SET_CAPTIONING_ENABLED
long ACTION_SET_CAPTIONING_ENABLED
Indicates this session supports the set captioning enabled command.
See also:
Constant Value: 1048576 (0x0000000000100000)
ACTION_SET_RATING
long ACTION_SET_RATING
Indicates this session supports the set rating command.
See also:
Constant Value: 128 (0x0000000000000080)
ACTION_SET_REPEAT_MODE
long ACTION_SET_REPEAT_MODE
Indicates this session supports the set repeat mode command.
See also:
Constant Value: 262144 (0x0000000000040000)
ACTION_SET_SHUFFLE_MODE
long ACTION_SET_SHUFFLE_MODE
Indicates this session supports the set shuffle mode command.
See also:
Constant Value: 2097152 (0x0000000000200000)
ACTION_SET_SHUFFLE_MODE_ENABLED
long ACTION_SET_SHUFFLE_MODE_ENABLED
This constant was deprecated
in API level 27.1.0.
Use ACTION_SET_SHUFFLE_MODE
instead.
Indicates this session supports the set shuffle mode enabled command.
See also:
Constant Value: 524288 (0x0000000000080000)
ACTION_SKIP_TO_NEXT
long ACTION_SKIP_TO_NEXT
Indicates this session supports the next command.
See also:
Constant Value: 32 (0x0000000000000020)
ACTION_SKIP_TO_PREVIOUS
long ACTION_SKIP_TO_PREVIOUS
Indicates this session supports the previous command.
See also:
Constant Value: 16 (0x0000000000000010)
ACTION_SKIP_TO_QUEUE_ITEM
long ACTION_SKIP_TO_QUEUE_ITEM
Indicates this session supports the skip to queue item command.
See also:
Constant Value: 4096 (0x0000000000001000)
ACTION_STOP
long ACTION_STOP
Indicates this session supports the stop command.
See also:
Constant Value: 1 (0x0000000000000001)
ERROR_CODE_ACTION_ABORTED
int ERROR_CODE_ACTION_ABORTED
Error code when the action is interrupted due to some external event.
The error code should be set when entering STATE_ERROR
.
Constant Value: 10 (0x0000000a)
ERROR_CODE_APP_ERROR
int ERROR_CODE_APP_ERROR
Error code when the application state is invalid to fulfill the request.
The error code should be set when entering STATE_ERROR
.
Constant Value: 1 (0x00000001)
ERROR_CODE_AUTHENTICATION_EXPIRED
int ERROR_CODE_AUTHENTICATION_EXPIRED
Error code when the request cannot be performed because authentication has expired.
The error code should be set when entering STATE_ERROR
.
Constant Value: 3 (0x00000003)
ERROR_CODE_CONCURRENT_STREAM_LIMIT
int ERROR_CODE_CONCURRENT_STREAM_LIMIT
Error code when too many concurrent streams are detected.
The error code should be set when entering STATE_ERROR
.
Constant Value: 5 (0x00000005)
ERROR_CODE_CONTENT_ALREADY_PLAYING
int ERROR_CODE_CONTENT_ALREADY_PLAYING
Error code when the requested content is already playing.
The error code should be set when entering STATE_ERROR
.
Constant Value: 8 (0x00000008)
ERROR_CODE_END_OF_QUEUE
int ERROR_CODE_END_OF_QUEUE
Error code when the playback navigation (previous, next) is not possible because the queue
was exhausted.
The error code should be set when entering STATE_ERROR
.
Constant Value: 11 (0x0000000b)
ERROR_CODE_NOT_AVAILABLE_IN_REGION
int ERROR_CODE_NOT_AVAILABLE_IN_REGION
Error code when the content is blocked due to being regionally unavailable.
The error code should be set when entering STATE_ERROR
.
Constant Value: 7 (0x00000007)
ERROR_CODE_NOT_SUPPORTED
int ERROR_CODE_NOT_SUPPORTED
Error code when the request is not supported by the application.
The error code should be set when entering STATE_ERROR
.
Constant Value: 2 (0x00000002)
ERROR_CODE_PARENTAL_CONTROL_RESTRICTED
int ERROR_CODE_PARENTAL_CONTROL_RESTRICTED
Error code when the content is blocked due to parental controls.
The error code should be set when entering STATE_ERROR
.
Constant Value: 6 (0x00000006)
ERROR_CODE_PREMIUM_ACCOUNT_REQUIRED
int ERROR_CODE_PREMIUM_ACCOUNT_REQUIRED
Error code when a premium account is required for the request to succeed.
The error code should be set when entering STATE_ERROR
.
Constant Value: 4 (0x00000004)
ERROR_CODE_SKIP_LIMIT_REACHED
int ERROR_CODE_SKIP_LIMIT_REACHED
Error code when the application cannot skip any more songs because skip limit is reached.
The error code should be set when entering STATE_ERROR
.
Constant Value: 9 (0x00000009)
ERROR_CODE_UNKNOWN_ERROR
int ERROR_CODE_UNKNOWN_ERROR
This is the default error code and indicates that none of the other error codes applies.
The error code should be set when entering STATE_ERROR
.
Constant Value: 0 (0x00000000)
PLAYBACK_POSITION_UNKNOWN
long PLAYBACK_POSITION_UNKNOWN
Use this value for the position to indicate the position is not known.
Constant Value: -1 (0xffffffffffffffff)
REPEAT_MODE_ALL
int REPEAT_MODE_ALL
Use this value with setRepeatMode(int)
to indicate that the playback of the playing media list will be repeated.
Constant Value: 2 (0x00000002)
REPEAT_MODE_GROUP
int REPEAT_MODE_GROUP
Use this value with setRepeatMode(int)
to indicate that the playback of the playing media group will be repeated.
A group is a logical block of media items which is specified in the section 5.7 of the
Bluetooth AVRCP 1.6.
Constant Value: 3 (0x00000003)
REPEAT_MODE_INVALID
int REPEAT_MODE_INVALID
getRepeatMode()
returns this value
when the session is not ready for providing its repeat mode.
Constant Value: -1 (0xffffffff)
REPEAT_MODE_NONE
int REPEAT_MODE_NONE
Use this value with setRepeatMode(int)
to indicate that the playback will be stopped at the end of the playing media list.
Constant Value: 0 (0x00000000)
REPEAT_MODE_ONE
int REPEAT_MODE_ONE
Use this value with setRepeatMode(int)
to indicate that the playback of the current playing media item will be repeated.
Constant Value: 1 (0x00000001)
SHUFFLE_MODE_ALL
int SHUFFLE_MODE_ALL
Use this value with setShuffleMode(int)
to indicate that the media list will be played in shuffled order.
Constant Value: 1 (0x00000001)
SHUFFLE_MODE_GROUP
int SHUFFLE_MODE_GROUP
Use this value with setShuffleMode(int)
to indicate that the media group will be played in shuffled order.
A group is a logical block of media items which is specified in the section 5.7 of the
Bluetooth AVRCP 1.6.
Constant Value: 2 (0x00000002)
SHUFFLE_MODE_INVALID
int SHUFFLE_MODE_INVALID
getShuffleMode()
returns this value
when the session is not ready for providing its shuffle mode.
Constant Value: -1 (0xffffffff)
SHUFFLE_MODE_NONE
int SHUFFLE_MODE_NONE
Use this value with setShuffleMode(int)
to indicate that the media list will be played in order.
Constant Value: 0 (0x00000000)
STATE_BUFFERING
int STATE_BUFFERING
State indicating this item is currently buffering and will begin playing when enough data has buffered.
See also:
Constant Value: 6 (0x00000006)
STATE_CONNECTING
int STATE_CONNECTING
State indicating the class doing playback is currently connecting to a
route. Depending on the implementation you may return to the previous
state when the connection finishes or enter STATE_NONE
. If
the connection failed STATE_ERROR
should be used.
On devices earlier than API 21, this will appear as STATE_BUFFERING
See also:
Constant Value: 8 (0x00000008)
STATE_ERROR
int STATE_ERROR
State indicating this item is currently in an error state. The error code should also be set when entering this state.
Constant Value: 7 (0x00000007)
STATE_FAST_FORWARDING
int STATE_FAST_FORWARDING
State indicating this item is currently fast forwarding.
See also:
Constant Value: 4 (0x00000004)
STATE_NONE
int STATE_NONE
This is the default playback state and indicates that no media has been added yet, or the performer has been reset and has no content to play.
See also:
Constant Value: 0 (0x00000000)
STATE_PAUSED
int STATE_PAUSED
State indicating this item is currently paused.
See also:
Constant Value: 2 (0x00000002)
STATE_PLAYING
int STATE_PLAYING
State indicating this item is currently playing.
See also:
Constant Value: 3 (0x00000003)
STATE_REWINDING
int STATE_REWINDING
State indicating this item is currently rewinding.
See also:
Constant Value: 5 (0x00000005)
STATE_SKIPPING_TO_NEXT
int STATE_SKIPPING_TO_NEXT
State indicating the player is currently skipping to the next item.
See also:
Constant Value: 10 (0x0000000a)
STATE_SKIPPING_TO_PREVIOUS
int STATE_SKIPPING_TO_PREVIOUS
State indicating the player is currently skipping to the previous item.
See also:
Constant Value: 9 (0x00000009)
STATE_SKIPPING_TO_QUEUE_ITEM
int STATE_SKIPPING_TO_QUEUE_ITEM
State indicating the player is currently skipping to a specific item in the queue.
On devices earlier than API 21, this will appear as STATE_SKIPPING_TO_NEXT
See also:
Constant Value: 11 (0x0000000b)
STATE_STOPPED
int STATE_STOPPED
State indicating this item is currently stopped.
See also:
Constant Value: 1 (0x00000001)
Fields
Public methods
fromPlaybackState
PlaybackStateCompat fromPlaybackState (Object stateObj)
Creates an instance from a framework PlaybackState
object.
This method is only supported on API 21+.
Parameters | |
---|---|
stateObj |
Object : A PlaybackState object, or null if none. |
Returns | |
---|---|
PlaybackStateCompat |
An equivalent PlaybackStateCompat object, or null if none.
|
getActions
long getActions ()
Get the current actions available on this session. This should use a bitmask of the available actions.
-
ACTION_SKIP_TO_PREVIOUS
-
ACTION_REWIND
-
ACTION_PLAY
-
ACTION_PLAY_PAUSE
-
ACTION_PAUSE
-
ACTION_STOP
-
ACTION_FAST_FORWARD
-
ACTION_SKIP_TO_NEXT
-
ACTION_SEEK_TO
-
ACTION_SET_RATING
-
ACTION_PLAY_FROM_MEDIA_ID
-
ACTION_PLAY_FROM_SEARCH
-
ACTION_SKIP_TO_QUEUE_ITEM
-
ACTION_PLAY_FROM_URI
-
ACTION_PREPARE
-
ACTION_PREPARE_FROM_MEDIA_ID
-
ACTION_PREPARE_FROM_SEARCH
-
ACTION_PREPARE_FROM_URI
-
ACTION_SET_REPEAT_MODE
-
ACTION_SET_SHUFFLE_MODE
-
ACTION_SET_CAPTIONING_ENABLED
Returns | |
---|---|
long |
getActiveQueueItemId
long getActiveQueueItemId ()
Get the id of the currently active item in the queue. If there is no
queue or a queue is not supported by the session this will be
UNKNOWN_ID
.
Returns | |
---|---|
long |
The id of the currently active item in the queue or
UNKNOWN_ID .
|
getBufferedPosition
long getBufferedPosition ()
Get the current buffered position in ms. This is the farthest playback point that can be reached from the current position using only buffered content.
Returns | |
---|---|
long |
getCustomActions
List<PlaybackStateCompat.CustomAction> getCustomActions ()
Get the list of custom actions.
Returns | |
---|---|
List<PlaybackStateCompat.CustomAction> |
getErrorCode
int getErrorCode ()
Get the error code. This should be set when the state is
STATE_ERROR
.
Returns | |
---|---|
int |
See also:
ERROR_CODE_UNKNOWN_ERROR
ERROR_CODE_APP_ERROR
ERROR_CODE_NOT_SUPPORTED
ERROR_CODE_AUTHENTICATION_EXPIRED
ERROR_CODE_PREMIUM_ACCOUNT_REQUIRED
ERROR_CODE_CONCURRENT_STREAM_LIMIT
ERROR_CODE_PARENTAL_CONTROL_RESTRICTED
ERROR_CODE_NOT_AVAILABLE_IN_REGION
ERROR_CODE_CONTENT_ALREADY_PLAYING
ERROR_CODE_SKIP_LIMIT_REACHED
ERROR_CODE_ACTION_ABORTED
ERROR_CODE_END_OF_QUEUE
getErrorMessage()
getErrorMessage
CharSequence getErrorMessage ()
Get the user readable optional error message. This may be set when the state is
STATE_ERROR
.
Returns | |
---|---|
CharSequence |
See also:
getExtras
Bundle getExtras ()
Get any custom extras that were set on this playback state.
Returns | |
---|---|
Bundle |
The extras for this state or null. |
getLastPositionUpdateTime
long getLastPositionUpdateTime ()
Get the elapsed real time at which position was last updated. If the position has never been set this will return 0;
Returns | |
---|---|
long |
The last time the position was updated. |
getPlaybackSpeed
float getPlaybackSpeed ()
Get the current playback speed as a multiple of normal playback. This should be negative when rewinding. A value of 1 means normal playback and 0 means paused.
Returns | |
---|---|
float |
The current speed of playback. |
getPlaybackState
Object getPlaybackState ()
Gets the underlying framework PlaybackState
object.
This method is only supported on API 21+.
Returns | |
---|---|
Object |
An equivalent PlaybackState object, or null if none.
|
getPosition
long getPosition ()
Get the current playback position in ms.
Returns | |
---|---|
long |
getState
int getState ()
Get the current state of playback. One of the following:
toKeyCode
int toKeyCode (long action)
Translates a given action into a matched key code defined in KeyEvent
. The given
action should be one of the following:
ACTION_PLAY
ACTION_PAUSE
ACTION_SKIP_TO_NEXT
ACTION_SKIP_TO_PREVIOUS
ACTION_STOP
ACTION_FAST_FORWARD
ACTION_REWIND
ACTION_PLAY_PAUSE
Parameters | |
---|---|
action |
long : The action to be translated. |
Returns | |
---|---|
int |
the key code matched to the given action. |
toString
String toString ()
Returns | |
---|---|
String |
writeToParcel
void writeToParcel (Parcel dest, int flags)
Parameters | |
---|---|
dest |
Parcel |
flags |
int |
Interfaces
Classes
- MediaButtonReceiver
- MediaControllerCompat
- MediaControllerCompat.Callback
- MediaControllerCompat.PlaybackInfo
- MediaControllerCompat.TransportControls
- MediaSessionCompat
- MediaSessionCompat.Callback
- MediaSessionCompat.QueueItem
- MediaSessionCompat.Token
- ParcelableVolumeInfo
- PlaybackStateCompat
- PlaybackStateCompat.Builder
- PlaybackStateCompat.CustomAction
- PlaybackStateCompat.CustomAction.Builder
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-04-11 UTC.