Android APIs
public static final class

PlaybackState.Builder

extends Object
java.lang.Object
   ↳ android.media.session.PlaybackState.Builder

Class Overview

Builder for PlaybackState objects.

Summary

Public Constructors
PlaybackState.Builder()
Creates an initially empty state builder.
PlaybackState.Builder(PlaybackState from)
Creates a builder with the same initial values as those in the from state.
Public Methods
PlaybackState.Builder addCustomAction(String action, String name, int icon)
Add a custom action to the playback state.
PlaybackState.Builder addCustomAction(PlaybackState.CustomAction customAction)
Add a custom action to the playback state.
PlaybackState build()
Build and return the PlaybackState instance with these values.
PlaybackState.Builder setActions(long actions)
Set the current actions available on this session.
PlaybackState.Builder setActiveQueueItemId(long id)
Set the active item in the play queue by specifying its id.
PlaybackState.Builder setBufferedPosition(long bufferedPosition)
Set the current buffered position in ms.
PlaybackState.Builder setErrorMessage(CharSequence error)
Set a user readable error message.
PlaybackState.Builder setState(int state, long position, float playbackSpeed, long updateTime)
Set the current state of playback.
PlaybackState.Builder setState(int state, long position, float playbackSpeed)
Set the current state of playback.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public PlaybackState.Builder ()

Added in API level 21

Creates an initially empty state builder.

public PlaybackState.Builder (PlaybackState from)

Added in API level 21

Creates a builder with the same initial values as those in the from state.

Parameters
from The state to use for initializing the builder.

Public Methods

public PlaybackState.Builder addCustomAction (String action, String name, int icon)

Added in API level 21

Add a custom action to the playback state. Actions can be used to expose additional functionality to MediaControllers beyond what is offered by the standard transport controls.

e.g. start a radio station based on the current item or skip ahead by 30 seconds.

Parameters
action An identifier for this action. It can be sent back to the MediaSession through sendCustomAction(String, Bundle).
name The display name for the action. If text is shown with the action or used for accessibility, this is what should be used.
icon The resource action of the icon that should be displayed for the action. The resource should be in the package of the MediaSession.
Returns
  • this

public PlaybackState.Builder addCustomAction (PlaybackState.CustomAction customAction)

Added in API level 21

Add a custom action to the playback state. Actions can be used to expose additional functionality to MediaControllers beyond what is offered by the standard transport controls.

An example of an action would be to start a radio station based on the current item or to skip ahead by 30 seconds.

Parameters
customAction The custom action to add to the PlaybackState.
Returns
  • this

public PlaybackState build ()

Added in API level 21

Build and return the PlaybackState instance with these values.

Returns
  • A new state instance.

public PlaybackState.Builder setActions (long actions)

Added in API level 21

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

Parameters
actions The set of actions allowed.
Returns
  • this

public PlaybackState.Builder setActiveQueueItemId (long id)

Added in API level 21

Set the active item in the play queue by specifying its id. The default value is UNKNOWN_ID

Parameters
id The id of the active item.
Returns
  • this

public PlaybackState.Builder setBufferedPosition (long bufferedPosition)

Added in API level 21

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

Parameters
bufferedPosition The position in ms that playback is buffered to.
Returns
  • this

public PlaybackState.Builder setErrorMessage (CharSequence error)

Added in API level 21

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

Parameters
error The error message for display to the user.
Returns
  • this

public PlaybackState.Builder setState (int state, long position, float playbackSpeed, long updateTime)

Added in API level 21

Set the current state of playback.

The position must be in ms and indicates the current playback position within the item. If the position is unknown use PLAYBACK_POSITION_UNKNOWN. When not using an unknown position the time at which the position was updated must be provided. It is okay to use elapsedRealtime() if the current position was just retrieved.

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

The state must be one of the following:

Parameters
state The current state of playback.
position The position in the current item in ms.
playbackSpeed The current speed of playback as a multiple of normal playback.
updateTime The time in the elapsedRealtime() timebase that the position was updated at.
Returns
  • this

public PlaybackState.Builder setState (int state, long position, float playbackSpeed)

Added in API level 21

Set the current state of playback.

The position must be in ms and indicates the current playback position within the item. If the position is unknown use PLAYBACK_POSITION_UNKNOWN. The update time will be set to the current elapsedRealtime().

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

The state must be one of the following:

Parameters
state The current state of playback.
position The position in the current item in ms.
playbackSpeed The current speed of playback as a multiple of normal playback.
Returns
  • this