# PlaybackState.Builder

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# Builder

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/media/session/PlaybackState.Builder "View this page in Java")  

```
class Builder
```

|---|--------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                             ||
| ↳ | [android.media.session.PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#) |

Builder for[PlaybackState](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState)objects.

## Summary

|                                                                                                                                                                Public constructors                                                                                                                                                                 ||
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#Builder())`()` Creates an initially empty state builder.                                                                                                                                                                                   |
| [Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#Builder(android.media.session.PlaybackState))`(`from:` `[PlaybackState](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState)!`)` Creates a builder with the same initial values as those in the from state. |

|                                                                                                                                                                                                                                                                                                                                                      Public methods                                                                                                                                                                                                                                                                                                                                                       ||
|-----------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#)! | [addCustomAction](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#addCustomAction(android.media.session.PlaybackState.CustomAction))`(`customAction:` `[PlaybackState.CustomAction](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.CustomAction)!`)` Add a custom action to the playback state.                                                                                                                                                                                                                     |
| [PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#)! | [addCustomAction](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#addCustomAction(kotlin.String,%20kotlin.String,%20kotlin.Int))`(`action:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!`, `name:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!`, `icon:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Add a custom action to the playback state.                                                                                         |
| [PlaybackState](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState)!                  | [build](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#build())`()` Build and return the[PlaybackState](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState)instance with these values.                                                                                                                                                                                                                                                                                                                                 |
| [PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#)! | [setActions](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#setActions(kotlin.Long))`(`actions:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` Set the current actions available on this session.                                                                                                                                                                                                                                                                                                                   |
| [PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#)! | [setActiveQueueItemId](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#setActiveQueueItemId(kotlin.Long))`(`id:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` Set the active item in the play queue by specifying its id.                                                                                                                                                                                                                                                                                           |
| [PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#)! | [setBufferedPosition](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#setBufferedPosition(kotlin.Long))`(`bufferedPosition:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` Set the current buffered position in ms.                                                                                                                                                                                                                                                                                                  |
| [PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#)! | [setErrorMessage](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#setErrorMessage(kotlin.CharSequence))`(`error:` `[CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)!`)` Set a user readable error message.                                                                                                                                                                                                                                                                                                 |
| [PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#)! | [setExtras](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#setExtras(android.os.Bundle))`(`extras:` `[Bundle](https://developer.android.com/reference/kotlin/android/os/Bundle.html#)!`)` Set any custom extras to be included with the playback state.                                                                                                                                                                                                                                                                                                |
| [PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#)! | [setState](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#setState(kotlin.Int,%20kotlin.Long,%20kotlin.Float))`(`state:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `position:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `playbackSpeed:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)`)` Set the current state of playback.                                                                                                              |
| [PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#)! | [setState](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#setState(kotlin.Int,%20kotlin.Long,%20kotlin.Float,%20kotlin.Long))`(`state:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`, `position:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`, `playbackSpeed:` `[Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html)`, `updateTime:` `[Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html)`)` Set the current state of playback. |

## Public constructors

### Builder

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
Builder()
```

Creates an initially empty state builder.  

### Builder

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
Builder(from: PlaybackState!)
```

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

|                                                                         Parameters                                                                          ||
|--------|-----------------------------------------------------------------------------------------------------------------------------------------------------|
| `from` | [PlaybackState](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState)!:The state to use for initializing the builder. |

## Public methods

### addCustomAction

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun addCustomAction(customAction: PlaybackState.CustomAction!): PlaybackState.Builder!
```

Add a custom action to the playback state. Actions can be used to expose additional functionality to[MediaControllers](https://developer.android.com/reference/kotlin/android/media/session/MediaController)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` | [PlaybackState.CustomAction](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.CustomAction)!:The custom action to add to the[PlaybackState](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState). |

|                                                           Return                                                            ||
|-----------------------------------------------------------------------------------------------------------------------|------|
| [PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#)! | this |

### addCustomAction

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun addCustomAction(
    action: String!, 
    name: String!, 
    icon: Int
): PlaybackState.Builder!
```

Add a custom action to the playback state. Actions can be used to expose additional functionality to[MediaControllers](https://developer.android.com/reference/kotlin/android/media/session/MediaController)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` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!:An identifier for this action. It can be sent back to the[MediaSession](https://developer.android.com/reference/kotlin/android/media/session/MediaSession)through[MediaController.TransportControls.sendCustomAction(String, Bundle)](https://developer.android.com/reference/kotlin/android/media/session/MediaController.TransportControls#sendCustomAction(kotlin.String,%20android.os.Bundle)). |
| `name`   | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!:The display name for the action. If text is shown with the action or used for accessibility, this is what should be used.                                                                                                                                                                                                                                                                           |
| `icon`   | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):The resource action of the icon that should be displayed for the action. The resource should be in the package of the[MediaSession](https://developer.android.com/reference/kotlin/android/media/session/MediaSession).                                                                                                                                                                                    |

|                                                           Return                                                            ||
|-----------------------------------------------------------------------------------------------------------------------|------|
| [PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#)! | this |

### build

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun build(): PlaybackState!
```

Build and return the[PlaybackState](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState)instance with these values.

|                                                           Return                                                            ||
|------------------------------------------------------------------------------------------------------|-----------------------|
| [PlaybackState](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState)! | A new state instance. |

### setActions

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun setActions(actions: Long): PlaybackState.Builder!
```

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

- [PlaybackState.ACTION_SKIP_TO_PREVIOUS](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_SKIP_TO_PREVIOUS:kotlin.Long)
- [PlaybackState.ACTION_REWIND](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_REWIND:kotlin.Long)
- [PlaybackState.ACTION_PLAY](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PLAY:kotlin.Long)
- [PlaybackState.ACTION_PAUSE](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PAUSE:kotlin.Long)
- [PlaybackState.ACTION_STOP](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_STOP:kotlin.Long)
- [PlaybackState.ACTION_FAST_FORWARD](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_FAST_FORWARD:kotlin.Long)
- [PlaybackState.ACTION_SKIP_TO_NEXT](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_SKIP_TO_NEXT:kotlin.Long)
- [PlaybackState.ACTION_SEEK_TO](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_SEEK_TO:kotlin.Long)
- [PlaybackState.ACTION_SET_RATING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_SET_RATING:kotlin.Long)
- [PlaybackState.ACTION_PLAY_PAUSE](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PLAY_PAUSE:kotlin.Long)
- [PlaybackState.ACTION_PLAY_FROM_MEDIA_ID](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PLAY_FROM_MEDIA_ID:kotlin.Long)
- [PlaybackState.ACTION_PLAY_FROM_SEARCH](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PLAY_FROM_SEARCH:kotlin.Long)
- [PlaybackState.ACTION_SKIP_TO_QUEUE_ITEM](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_SKIP_TO_QUEUE_ITEM:kotlin.Long)
- [PlaybackState.ACTION_PLAY_FROM_URI](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PLAY_FROM_URI:kotlin.Long)
- [PlaybackState.ACTION_PREPARE](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PREPARE:kotlin.Long)
- [PlaybackState.ACTION_PREPARE_FROM_MEDIA_ID](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PREPARE_FROM_MEDIA_ID:kotlin.Long)
- [PlaybackState.ACTION_PREPARE_FROM_SEARCH](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PREPARE_FROM_SEARCH:kotlin.Long)
- [PlaybackState.ACTION_PREPARE_FROM_URI](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PREPARE_FROM_URI:kotlin.Long)
- [PlaybackState.ACTION_SET_PLAYBACK_SPEED](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_SET_PLAYBACK_SPEED:kotlin.Long)

<br />

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   Parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ||
|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `actions` | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html):The set of actions allowed. Value is either`0`or a combination of[android.media.session.PlaybackState#ACTION_STOP](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_STOP:kotlin.Long),[android.media.session.PlaybackState#ACTION_PAUSE](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PAUSE:kotlin.Long),[android.media.session.PlaybackState#ACTION_PLAY](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PLAY:kotlin.Long),[android.media.session.PlaybackState#ACTION_REWIND](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_REWIND:kotlin.Long),[android.media.session.PlaybackState#ACTION_SKIP_TO_PREVIOUS](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_SKIP_TO_PREVIOUS:kotlin.Long),[android.media.session.PlaybackState#ACTION_SKIP_TO_NEXT](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_SKIP_TO_NEXT:kotlin.Long),[android.media.session.PlaybackState#ACTION_FAST_FORWARD](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_FAST_FORWARD:kotlin.Long),[android.media.session.PlaybackState#ACTION_SET_RATING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_SET_RATING:kotlin.Long),[android.media.session.PlaybackState#ACTION_SEEK_TO](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_SEEK_TO:kotlin.Long),[android.media.session.PlaybackState#ACTION_PLAY_PAUSE](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PLAY_PAUSE:kotlin.Long),[android.media.session.PlaybackState#ACTION_PLAY_FROM_MEDIA_ID](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PLAY_FROM_MEDIA_ID:kotlin.Long),[android.media.session.PlaybackState#ACTION_PLAY_FROM_SEARCH](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PLAY_FROM_SEARCH:kotlin.Long),[android.media.session.PlaybackState#ACTION_SKIP_TO_QUEUE_ITEM](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_SKIP_TO_QUEUE_ITEM:kotlin.Long),[android.media.session.PlaybackState#ACTION_PLAY_FROM_URI](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PLAY_FROM_URI:kotlin.Long),[android.media.session.PlaybackState#ACTION_PREPARE](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PREPARE:kotlin.Long),[android.media.session.PlaybackState#ACTION_PREPARE_FROM_MEDIA_ID](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PREPARE_FROM_MEDIA_ID:kotlin.Long),[android.media.session.PlaybackState#ACTION_PREPARE_FROM_SEARCH](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PREPARE_FROM_SEARCH:kotlin.Long),[android.media.session.PlaybackState#ACTION_PREPARE_FROM_URI](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_PREPARE_FROM_URI:kotlin.Long), and[android.media.session.PlaybackState#ACTION_SET_PLAYBACK_SPEED](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#ACTION_SET_PLAYBACK_SPEED:kotlin.Long) |

|                                                           Return                                                            ||
|-----------------------------------------------------------------------------------------------------------------------|------|
| [PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#)! | this |

### setActiveQueueItemId

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun setActiveQueueItemId(id: Long): PlaybackState.Builder!
```

Set the active item in the play queue by specifying its id. The default value is[MediaSession.QueueItem.UNKNOWN_ID](https://developer.android.com/reference/kotlin/android/media/session/MediaSession.QueueItem#UNKNOWN_ID:kotlin.Int)

|                                                  Parameters                                                   ||
|------|---------------------------------------------------------------------------------------------------------|
| `id` | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html):The id of the active item. |

|                                                           Return                                                            ||
|-----------------------------------------------------------------------------------------------------------------------|------|
| [PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#)! | this |

### setBufferedPosition

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun setBufferedPosition(bufferedPosition: Long): PlaybackState.Builder!
```

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` | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html):The position in ms that playback is buffered to. |

|                                                           Return                                                            ||
|-----------------------------------------------------------------------------------------------------------------------|------|
| [PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#)! | this |

### setErrorMessage

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun setErrorMessage(error: CharSequence!): PlaybackState.Builder!
```

Set a user readable error message. This should be set when the state is[PlaybackState.STATE_ERROR](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_ERROR:kotlin.Int).

|                                                                     Parameters                                                                     ||
|---------|-------------------------------------------------------------------------------------------------------------------------------------------|
| `error` | [CharSequence](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-char-sequence/index.html)!:The error message for display to the user. |

|                                                           Return                                                            ||
|-----------------------------------------------------------------------------------------------------------------------|------|
| [PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#)! | this |

### setExtras

Added in[API level 22](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun setExtras(extras: Bundle!): PlaybackState.Builder!
```

Set any custom extras to be included with the playback state.

|                                                     Parameters                                                     ||
|----------|----------------------------------------------------------------------------------------------------------|
| `extras` | [Bundle](https://developer.android.com/reference/kotlin/android/os/Bundle.html#)!:The extras to include. |

|                                                           Return                                                            ||
|-----------------------------------------------------------------------------------------------------------------------|------|
| [PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#)! | this |

### setState

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun setState(
    state: Int, 
    position: Long, 
    playbackSpeed: Float
): PlaybackState.Builder!
```

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](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#PLAYBACK_POSITION_UNKNOWN:kotlin.Long). The update time will be set to the current[SystemClock.elapsedRealtime()](https://developer.android.com/reference/kotlin/android/os/SystemClock.html#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](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_NONE:kotlin.Int)
- [PlaybackState.STATE_STOPPED](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_STOPPED:kotlin.Int)
- [PlaybackState.STATE_PLAYING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_PLAYING:kotlin.Int)
- [PlaybackState.STATE_PAUSED](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_PAUSED:kotlin.Int)
- [PlaybackState.STATE_FAST_FORWARDING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_FAST_FORWARDING:kotlin.Int)
- [PlaybackState.STATE_REWINDING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_REWINDING:kotlin.Int)
- [PlaybackState.STATE_BUFFERING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_BUFFERING:kotlin.Int)
- [PlaybackState.STATE_ERROR](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_ERROR:kotlin.Int)
- [PlaybackState.STATE_CONNECTING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_CONNECTING:kotlin.Int)
- [PlaybackState.STATE_SKIPPING_TO_PREVIOUS](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_SKIPPING_TO_PREVIOUS:kotlin.Int)
- [PlaybackState.STATE_SKIPPING_TO_NEXT](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_SKIPPING_TO_NEXT:kotlin.Int)
- [PlaybackState.STATE_SKIPPING_TO_QUEUE_ITEM](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_SKIPPING_TO_QUEUE_ITEM:kotlin.Int)

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ||
|-----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `state`         | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):The current state of playback. Value is[android.media.session.PlaybackState#STATE_NONE](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_NONE:kotlin.Int),[android.media.session.PlaybackState#STATE_STOPPED](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_STOPPED:kotlin.Int),[android.media.session.PlaybackState#STATE_PAUSED](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_PAUSED:kotlin.Int),[android.media.session.PlaybackState#STATE_PLAYING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_PLAYING:kotlin.Int),[android.media.session.PlaybackState#STATE_FAST_FORWARDING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_FAST_FORWARDING:kotlin.Int),[android.media.session.PlaybackState#STATE_REWINDING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_REWINDING:kotlin.Int),[android.media.session.PlaybackState#STATE_BUFFERING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_BUFFERING:kotlin.Int),[android.media.session.PlaybackState#STATE_ERROR](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_ERROR:kotlin.Int),[android.media.session.PlaybackState#STATE_CONNECTING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_CONNECTING:kotlin.Int),[android.media.session.PlaybackState#STATE_SKIPPING_TO_PREVIOUS](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_SKIPPING_TO_PREVIOUS:kotlin.Int),[android.media.session.PlaybackState#STATE_SKIPPING_TO_NEXT](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_SKIPPING_TO_NEXT:kotlin.Int), or[android.media.session.PlaybackState#STATE_SKIPPING_TO_QUEUE_ITEM](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_SKIPPING_TO_QUEUE_ITEM:kotlin.Int) |
| `position`      | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html):The position in the current item in ms.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `playbackSpeed` | [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html):The current speed of playback as a multiple of normal playback.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |

|                                                           Return                                                            ||
|-----------------------------------------------------------------------------------------------------------------------|------|
| [PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#)! | this |

### setState

Added in[API level 21](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun setState(
    state: Int, 
    position: Long, 
    playbackSpeed: Float, 
    updateTime: Long
): PlaybackState.Builder!
```

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](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#PLAYBACK_POSITION_UNKNOWN:kotlin.Long). When not using an unknown position the time at which the position was updated must be provided. It is okay to use[SystemClock.elapsedRealtime()](https://developer.android.com/reference/kotlin/android/os/SystemClock.html#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](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_NONE:kotlin.Int)
- [PlaybackState.STATE_STOPPED](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_STOPPED:kotlin.Int)
- [PlaybackState.STATE_PLAYING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_PLAYING:kotlin.Int)
- [PlaybackState.STATE_PAUSED](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_PAUSED:kotlin.Int)
- [PlaybackState.STATE_FAST_FORWARDING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_FAST_FORWARDING:kotlin.Int)
- [PlaybackState.STATE_REWINDING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_REWINDING:kotlin.Int)
- [PlaybackState.STATE_BUFFERING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_BUFFERING:kotlin.Int)
- [PlaybackState.STATE_ERROR](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_ERROR:kotlin.Int)
- [PlaybackState.STATE_CONNECTING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_CONNECTING:kotlin.Int)
- [PlaybackState.STATE_SKIPPING_TO_PREVIOUS](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_SKIPPING_TO_PREVIOUS:kotlin.Int)
- [PlaybackState.STATE_SKIPPING_TO_NEXT](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_SKIPPING_TO_NEXT:kotlin.Int)
- [PlaybackState.STATE_SKIPPING_TO_QUEUE_ITEM](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_SKIPPING_TO_QUEUE_ITEM:kotlin.Int)

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ||
|-----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `state`         | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):The current state of playback. Value is[android.media.session.PlaybackState#STATE_NONE](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_NONE:kotlin.Int),[android.media.session.PlaybackState#STATE_STOPPED](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_STOPPED:kotlin.Int),[android.media.session.PlaybackState#STATE_PAUSED](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_PAUSED:kotlin.Int),[android.media.session.PlaybackState#STATE_PLAYING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_PLAYING:kotlin.Int),[android.media.session.PlaybackState#STATE_FAST_FORWARDING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_FAST_FORWARDING:kotlin.Int),[android.media.session.PlaybackState#STATE_REWINDING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_REWINDING:kotlin.Int),[android.media.session.PlaybackState#STATE_BUFFERING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_BUFFERING:kotlin.Int),[android.media.session.PlaybackState#STATE_ERROR](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_ERROR:kotlin.Int),[android.media.session.PlaybackState#STATE_CONNECTING](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_CONNECTING:kotlin.Int),[android.media.session.PlaybackState#STATE_SKIPPING_TO_PREVIOUS](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_SKIPPING_TO_PREVIOUS:kotlin.Int),[android.media.session.PlaybackState#STATE_SKIPPING_TO_NEXT](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_SKIPPING_TO_NEXT:kotlin.Int), or[android.media.session.PlaybackState#STATE_SKIPPING_TO_QUEUE_ITEM](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState#STATE_SKIPPING_TO_QUEUE_ITEM:kotlin.Int) |
| `position`      | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html):The position in the current item in ms.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `playbackSpeed` | [Float](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-float/index.html):The current speed of playback as a multiple of normal playback.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `updateTime`    | [Long](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html):The time in the[SystemClock.elapsedRealtime](https://developer.android.com/reference/kotlin/android/os/SystemClock.html#elapsedRealtime())timebase that the position was updated at.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |

|                                                           Return                                                            ||
|-----------------------------------------------------------------------------------------------------------------------|------|
| [PlaybackState.Builder](https://developer.android.com/reference/kotlin/android/media/session/PlaybackState.Builder#)! | this |