public static final class PlaybackState.Builder extends Object
PlaybackState
objects.Constructor and Description |
---|
Builder()
Creates an initially empty state builder.
|
Builder(PlaybackState from)
Creates a builder with the same initial values as those in the from
state.
|
Modifier and Type | Method and Description |
---|---|
PlaybackState.Builder |
addCustomAction(PlaybackState.CustomAction customAction)
Add a custom action to the playback state.
|
PlaybackState.Builder |
addCustomAction(String action,
String name,
int icon)
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 |
setExtras(Bundle extras)
Set any custom extras to be included with the playback state.
|
PlaybackState.Builder |
setState(int state,
long position,
float playbackSpeed)
Set the current state of playback.
|
PlaybackState.Builder |
setState(int state,
long position,
float playbackSpeed,
long updateTime)
Set the current state of playback.
|
public Builder()
public Builder(PlaybackState from)
from
- The state to use for initializing the builder.public PlaybackState.Builder setState(int state, long position, float playbackSpeed, long updateTime)
The position must be in ms and indicates the current playback
position within the item. If the position is unknown use
PlaybackState.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 SystemClock.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:
PlaybackState.STATE_NONE
PlaybackState.STATE_STOPPED
PlaybackState.STATE_PLAYING
PlaybackState.STATE_PAUSED
PlaybackState.STATE_FAST_FORWARDING
PlaybackState.STATE_REWINDING
PlaybackState.STATE_BUFFERING
PlaybackState.STATE_ERROR
PlaybackState.STATE_CONNECTING
PlaybackState.STATE_SKIPPING_TO_PREVIOUS
PlaybackState.STATE_SKIPPING_TO_NEXT
PlaybackState.STATE_SKIPPING_TO_QUEUE_ITEM
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 SystemClock.elapsedRealtime()
timebase that the position was updated at.public PlaybackState.Builder setState(int state, long position, float playbackSpeed)
The position must be in ms and indicates the current playback
position within the item. If the position is unknown use
PlaybackState.PLAYBACK_POSITION_UNKNOWN
. The update time will be set to
the current SystemClock.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:
PlaybackState.STATE_NONE
PlaybackState.STATE_STOPPED
PlaybackState.STATE_PLAYING
PlaybackState.STATE_PAUSED
PlaybackState.STATE_FAST_FORWARDING
PlaybackState.STATE_REWINDING
PlaybackState.STATE_BUFFERING
PlaybackState.STATE_ERROR
PlaybackState.STATE_CONNECTING
PlaybackState.STATE_SKIPPING_TO_PREVIOUS
PlaybackState.STATE_SKIPPING_TO_NEXT
PlaybackState.STATE_SKIPPING_TO_QUEUE_ITEM
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.public PlaybackState.Builder setActions(long actions)
PlaybackState.ACTION_SKIP_TO_PREVIOUS
PlaybackState.ACTION_REWIND
PlaybackState.ACTION_PLAY
PlaybackState.ACTION_PAUSE
PlaybackState.ACTION_STOP
PlaybackState.ACTION_FAST_FORWARD
PlaybackState.ACTION_SKIP_TO_NEXT
PlaybackState.ACTION_SEEK_TO
PlaybackState.ACTION_SET_RATING
PlaybackState.ACTION_PLAY_PAUSE
PlaybackState.ACTION_PLAY_FROM_MEDIA_ID
PlaybackState.ACTION_PLAY_FROM_SEARCH
PlaybackState.ACTION_SKIP_TO_QUEUE_ITEM
PlaybackState.ACTION_PLAY_FROM_URI
PlaybackState.ACTION_PREPARE
PlaybackState.ACTION_PREPARE_FROM_MEDIA_ID
PlaybackState.ACTION_PREPARE_FROM_SEARCH
PlaybackState.ACTION_PREPARE_FROM_URI
actions
- The set of actions allowed.public PlaybackState.Builder addCustomAction(String action, String name, int icon)
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.
action
- An identifier for this action. It can be sent back to
the MediaSession
through
MediaController.TransportControls.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
.public PlaybackState.Builder addCustomAction(PlaybackState.CustomAction customAction)
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.
customAction
- The custom action to add to the PlaybackState
.public PlaybackState.Builder setBufferedPosition(long bufferedPosition)
bufferedPosition
- The position in ms that playback is buffered
to.public PlaybackState.Builder setActiveQueueItemId(long id)
MediaSession.QueueItem.UNKNOWN_ID
id
- The id of the active item.public PlaybackState.Builder setErrorMessage(CharSequence error)
PlaybackState.STATE_ERROR
.error
- The error message for display to the user.public PlaybackState.Builder setExtras(Bundle extras)
extras
- The extras to include.public PlaybackState build()
PlaybackState
instance with these
values.