Android APIs
public final class

PlaybackState

extends Object
implements Parcelable
java.lang.Object
   ↳ android.media.session.PlaybackState

Class Overview

Playback state for a MediaSession. This includes a state like STATE_PLAYING, the current playback position, and the current control capabilities.

Summary

Constants
long ACTION_FAST_FORWARD Indicates this performer supports the fast forward command.
long ACTION_PAUSE Indicates this performer supports the pause command.
long ACTION_PLAY Indicates this performer supports the play command.
long ACTION_PLAY_PAUSE Indicates this performer supports the play/pause toggle command.
long ACTION_REWIND Indicates this performer supports the rewind command.
long ACTION_SEEK_TO Indicates this performer supports the seek to command.
long ACTION_SET_RATING Indicates this performer supports the set rating command.
long ACTION_SKIP_TO_NEXT Indicates this performer supports the next command.
long ACTION_SKIP_TO_PREVIOUS Indicates this performer supports the previous command.
long ACTION_STOP Indicates this performer supports the stop command.
long PLAYBACK_POSITION_UNKNOWN Use this value for the position to indicate the position is not known.
int STATE_BUFFERING State indicating this item is currently buffering and will begin playing when enough data has buffered.
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_STOPPED State indicating this item is currently stopped.
[Expand]
Inherited Constants
From interface android.os.Parcelable
Fields
public static final Creator<PlaybackState> CREATOR
Public Constructors
PlaybackState()
Create an empty PlaybackState.
PlaybackState(PlaybackState from)
Create a new PlaybackState from an existing PlaybackState.
Public Methods
int describeContents()
Describe the kinds of special objects contained in this Parcelable's marshalled representation.
long getActions()
Get the current actions available on this session.
long getBufferPosition()
Get the current buffer position in ms.
CharSequence getErrorMessage()
Get a user readable error message.
float getPlaybackRate()
Get the current playback rate as a multiple of normal playback.
long getPosition()
Get the current playback position in ms.
int getState()
Get the current state of playback.
void setActions(long capabilities)
Set the current capabilities available on this session.
void setBufferPosition(long bufferPosition)
Set the current buffer position in ms.
void setErrorMessage(CharSequence errorMessage)
Set a user readable error message.
void setState(int state, long position, float playbackRate)
Set the current state of playback.
String toString()
Returns a string containing a concise, human-readable description of this object.
void writeToParcel(Parcel dest, int flags)
Flatten this object in to a Parcel.
[Expand]
Inherited Methods
From class java.lang.Object
From interface android.os.Parcelable

Constants

public static final long ACTION_FAST_FORWARD

Indicates this performer supports the fast forward command.

See Also
Constant Value: 64 (0x0000000000000040)

public static final long ACTION_PAUSE

Indicates this performer supports the pause command.

See Also
Constant Value: 2 (0x0000000000000002)

public static final long ACTION_PLAY

Indicates this performer supports the play command.

See Also
Constant Value: 4 (0x0000000000000004)

public static final long ACTION_PLAY_PAUSE

Indicates this performer supports the play/pause toggle command.

See Also
Constant Value: 512 (0x0000000000000200)

public static final long ACTION_REWIND

Indicates this performer supports the rewind command.

See Also
Constant Value: 8 (0x0000000000000008)

public static final long ACTION_SEEK_TO

Indicates this performer supports the seek to command.

See Also
Constant Value: 256 (0x0000000000000100)

public static final long ACTION_SET_RATING

Indicates this performer supports the set rating command.

See Also
Constant Value: 128 (0x0000000000000080)

public static final long ACTION_SKIP_TO_NEXT

Indicates this performer supports the next command.

See Also
Constant Value: 32 (0x0000000000000020)

public static final long ACTION_SKIP_TO_PREVIOUS

Indicates this performer supports the previous command.

See Also
Constant Value: 16 (0x0000000000000010)

public static final long ACTION_STOP

Indicates this performer supports the stop command.

See Also
Constant Value: 1 (0x0000000000000001)

public static final long PLAYBACK_POSITION_UNKNOWN

Use this value for the position to indicate the position is not known.

Constant Value: -1 (0xffffffffffffffff)

public static final int STATE_BUFFERING

State indicating this item is currently buffering and will begin playing when enough data has buffered.

Constant Value: 6 (0x00000006)

public static final int STATE_ERROR

State indicating this item is currently in an error state. The error message should also be set when entering this state.

Constant Value: 7 (0x00000007)

public static final int STATE_FAST_FORWARDING

State indicating this item is currently fast forwarding.

Constant Value: 4 (0x00000004)

public static final 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.

Constant Value: 0 (0x00000000)

public static final int STATE_PAUSED

State indicating this item is currently paused.

Constant Value: 2 (0x00000002)

public static final int STATE_PLAYING

State indicating this item is currently playing.

Constant Value: 3 (0x00000003)

public static final int STATE_REWINDING

State indicating this item is currently rewinding.

Constant Value: 5 (0x00000005)

public static final int STATE_SKIPPING_TO_NEXT

State indicating the player is currently skipping to the next item.

Constant Value: 10 (0x0000000a)

public static final int STATE_SKIPPING_TO_PREVIOUS

State indicating the player is currently skipping to the previous item.

Constant Value: 9 (0x00000009)

public static final int STATE_STOPPED

State indicating this item is currently stopped.

Constant Value: 1 (0x00000001)

Fields

public static final Creator<PlaybackState> CREATOR

Public Constructors

public PlaybackState ()

Create an empty PlaybackState. At minimum a state and actions should be set before publishing a PlaybackState.

public PlaybackState (PlaybackState from)

Create a new PlaybackState from an existing PlaybackState. All fields will be copied to the new state.

Parameters
from The PlaybackState to duplicate

Public Methods

public int describeContents ()

Describe the kinds of special objects contained in this Parcelable's marshalled representation.

Returns
  • a bitmask indicating the set of special object types marshalled by the Parcelable.

public long getActions ()

Get the current actions available on this session. This should use a bitmask of the available actions.

public long getBufferPosition ()

Get the current buffer position in ms. This is the farthest playback point that can be reached from the current position using only buffered content.

public CharSequence getErrorMessage ()

Get a user readable error message. This should be set when the state is STATE_ERROR.

public float getPlaybackRate ()

Get the current playback rate as a multiple of normal playback. This should be negative when rewinding. A value of 1 means normal playback and 0 means paused.

Returns
  • The current rate of playback.

public long getPosition ()

Get the current playback position in ms.

public int getState ()

public void setActions (long capabilities)

Set the current capabilities available on this session. This should use a bitmask of the available capabilities.

public void setBufferPosition (long bufferPosition)

Set the current buffer position in ms. This is the farthest playback point that can be reached from the current position using only buffered content.

public void setErrorMessage (CharSequence errorMessage)

Set a user readable error message. This should be set when the state is STATE_ERROR.

public void setState (int state, long position, float playbackRate)

Set the current state of playback.

The position must be in ms and indicates the current playback position within the track. If the position is unknown use PLAYBACK_POSITION_UNKNOWN.

The rate is a multiple of normal playback and should be 0 when paused and negative when rewinding. Normal playback rate is 1.0.

The state must be one of the following:

Parameters
state The current state of playback.
position The position in the current track in ms.
playbackRate The current rate of playback as a multiple of normal playback.

public String toString ()

Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:

   getClass().getName() + '@' + Integer.toHexString(hashCode())

See Writing a useful toString method if you intend implementing your own toString method.

Returns
  • a printable representation of this object.

public void writeToParcel (Parcel dest, int flags)

Flatten this object in to a Parcel.

Parameters
dest The Parcel in which the object should be written.
flags Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.