# CommandButton.Builder

Artifact: [androidx.media3:media3-session](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/session/CommandButton.java+class:androidx.media3.session.CommandButton.Builder)

*** ** * ** ***


```
class CommandButton.Builder
```

<br />

*** ** * ** ***

A builder for `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton`.

## Summary

| ### Public constructors |
|---|
| `[Builder](https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#Builder())()` **This function is deprecated.** Use `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#Builder(int)` instead to define the `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Icon` for this button. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#Builder(int)(@https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Icon icon: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Creates a builder. |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#build()()` Builds a `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton`. |
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setCustomIconResId(int)(resId: @https://developer.android.com/reference/kotlin/androidx/annotation/DrawableRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the fallback resource ID of an icon. |
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setDisplayName(java.lang.CharSequence)(displayName: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-char-sequence/index.html!)` Sets a display name of this button. |
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setEnabled(boolean)(enabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Sets whether the button is enabled. |
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setExtras(android.os.Bundle)(extras: https://developer.android.com/reference/android/os/Bundle.html!)` Sets an extra `https://developer.android.com/reference/android/os/Bundle.html` of this button. |
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html [setIconResId](https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setIconResId(int))(resId: @https://developer.android.com/reference/kotlin/androidx/annotation/DrawableRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` **This function is deprecated.** The icon should be defined with the constructor `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Icon` parameter in `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#Builder(int)` instead. <br /> |
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setIconUri(android.net.Uri)(uri: https://developer.android.com/reference/android/net/Uri.html!)` Sets a fallback `https://developer.android.com/reference/android/content/ContentResolver.html#SCHEME_CONTENT` or `https://developer.android.com/reference/android/content/ContentResolver.html#SCHEME_ANDROID_RESOURCE``https://developer.android.com/reference/android/net/Uri.html` for the icon of this button. |
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setPlayerCommand(int)(@https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Command playerCommand: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Sets the `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Command` that is required to be `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isCommandAvailable(int)` when the button is clicked. |
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi @https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setPlayerCommand(int,java.lang.Object)(@https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Command playerCommand: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, parameter: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` Sets the `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Command` that is required to be `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isCommandAvailable(int)` when the button is clicked. |
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setSessionCommand(androidx.media3.session.SessionCommand)(sessionCommand: https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand!)` Sets the `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand` that is required to be `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isSessionCommandAvailable(int)` when the button is clicked. |
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | `@https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html @https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setSessionCommand(androidx.media3.session.SessionCommand,java.lang.Object)(sessionCommand: https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand!, parameter: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?)` Sets the `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand` that is required to be `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isSessionCommandAvailable(int)` when the button is clicked. |
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi @https://checkerframework.org/api/com/google/errorprone/annotations/CanIgnoreReturnValue.html https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setSlots(int...)(@https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Slot slots: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html>!)` Sets the allowed `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Slot` positions for this button. |

## Public constructors

### Builder

```
[Builder](https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#Builder())()
```

> [!CAUTION]
> **This function is deprecated.**   
>
> Use `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#Builder(int)` instead to define the `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Icon` for this button. A separate resource id via `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setIconResId(int)` is no longer required unless for `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#ICON_UNDEFINED()`.

### Builder

```
Builder(@CommandButton.Icon icon: Int)
```

Creates a builder.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Icon icon: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Icon` that should be shown for this button. |

## Public functions

### build

```
fun build(): CommandButton!
```

Builds a `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton`.

### setCustomIconResId

```
@CanIgnoreReturnValue
fun setCustomIconResId(resId: @DrawableRes Int): CommandButton.Builder!
```

Sets the fallback resource ID of an icon.

This is used when either the predefined `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#icon()` is not available, or it's set to `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#ICON_UNDEFINED()`.

| Parameters |
|---|---|
| `resId: @https://developer.android.com/reference/kotlin/androidx/annotation/DrawableRes https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The resource id of a custom icon. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | This builder for chaining. |

### setDisplayName

```
@CanIgnoreReturnValue
fun setDisplayName(displayName: CharSequence!): CommandButton.Builder!
```

Sets a display name of this button.

| Parameters |
|---|---|
| `displayName: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-char-sequence/index.html!` | The display name. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | This builder for chaining. |

### setEnabled

```
@CanIgnoreReturnValue
fun setEnabled(enabled: Boolean): CommandButton.Builder!
```

Sets whether the button is enabled.

Note that this value will be set to `false` for `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController` instances if the corresponding command is not available to this controller (see `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setPlayerCommand(int)` and `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setSessionCommand(androidx.media3.session.SessionCommand)`).

The default value is `true`.

| Parameters |
|---|---|
| `enabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | Whether the button is enabled. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | This builder for chaining. |

### setExtras

```
@CanIgnoreReturnValue
fun setExtras(extras: Bundle!): CommandButton.Builder!
```

Sets an extra `https://developer.android.com/reference/android/os/Bundle.html` of this button.

| Parameters |
|---|---|
| `extras: https://developer.android.com/reference/android/os/Bundle.html!` | The extra `https://developer.android.com/reference/android/os/Bundle.html`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | This builder for chaining. |

### setIconResId

```
@CanIgnoreReturnValue
fun [setIconResId](https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setIconResId(int))(resId: @DrawableRes Int): CommandButton.Builder!
```

> [!CAUTION]
> **This function is deprecated.**   
>
> The icon should be defined with the constructor `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Icon` parameter in `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#Builder(int)` instead. If the existing list of icons is not sufficient, use `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#ICON_UNDEFINED()` for the constructor `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Icon` parameter, and set a separate resource id with `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setCustomIconResId(int)`.

### setIconUri

```
@CanIgnoreReturnValue
fun setIconUri(uri: Uri!): CommandButton.Builder!
```

Sets a fallback `https://developer.android.com/reference/android/content/ContentResolver.html#SCHEME_CONTENT` or `https://developer.android.com/reference/android/content/ContentResolver.html#SCHEME_ANDROID_RESOURCE``https://developer.android.com/reference/android/net/Uri.html` for the icon of this button.

Note that this `https://developer.android.com/reference/android/net/Uri.html` may be used when either the predefined `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#icon()` is not available, or it's set to `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#ICON_UNDEFINED()`. It can be used in addition to `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setCustomIconResId(int)` for consumers that are capable of loading the content or resource `https://developer.android.com/reference/android/net/Uri.html`.

| Parameters |
|---|---|
| `uri: https://developer.android.com/reference/android/net/Uri.html!` | The uri to an icon. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | This builder for chaining. |

### setPlayerCommand

```
@CanIgnoreReturnValue
fun setPlayerCommand(@Player.Command playerCommand: Int): CommandButton.Builder!
```

Sets the `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Command` that is required to be `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isCommandAvailable(int)` when the button is clicked.

Cannot set this if a session command is already set via `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setSessionCommand(androidx.media3.session.SessionCommand)`.

The controller can execute the action associated with this command. See `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#executeAction(androidx.media3.session.MediaController)` for a list of supported actions. If the action requires an additional parameter, use `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setPlayerCommand(int,java.lang.Object)` instead.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Command playerCommand: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Command`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | This builder for chaining. |

### setPlayerCommand

```
@UnstableApi
@CanIgnoreReturnValue
fun setPlayerCommand(@Player.Command playerCommand: Int, parameter: Any?): CommandButton.Builder!
```

Sets the `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Command` that is required to be `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isCommandAvailable(int)` when the button is clicked.

Cannot set this if a session command is already set via `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setSessionCommand(androidx.media3.session.SessionCommand)`.

The controller can execute the action associated with this command. See `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#executeAction(androidx.media3.session.MediaController)` for a list of supported actions. If the action requires no additional parameter, use `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setPlayerCommand(int)` instead.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Command playerCommand: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | The `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Command`. |
| `parameter: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?` | The parameter required to execute the action associated with this command. See `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#executeAction(androidx.media3.session.MediaController)` for a list of supported actions and parameter types. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | This builder for chaining. |

### setSessionCommand

```
@CanIgnoreReturnValue
fun setSessionCommand(sessionCommand: SessionCommand!): CommandButton.Builder!
```

Sets the `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand` that is required to be `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isSessionCommandAvailable(int)` when the button is clicked.

Cannot set this if a player command is already set via `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setPlayerCommand(int)`.

The controller can execute the action associated with this command. See `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#executeAction(androidx.media3.session.MediaController)` for a list of supported actions. If the action requires an additional parameter, use `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setSessionCommand(androidx.media3.session.SessionCommand,java.lang.Object)` instead.

| Parameters |
|---|---|
| `sessionCommand: https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand!` | The `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand`. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | This builder for chaining. |

### setSessionCommand

```
@CanIgnoreReturnValue
@UnstableApi
fun setSessionCommand(sessionCommand: SessionCommand!, parameter: Any?): CommandButton.Builder!
```

Sets the `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand` that is required to be `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isSessionCommandAvailable(int)` when the button is clicked.

Cannot set this if a player command is already set via `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setPlayerCommand(int)`.

The controller can execute the action associated with this command. See `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#executeAction(androidx.media3.session.MediaController)` for a list of supported actions. If the action requires no additional parameter, use `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setSessionCommand(androidx.media3.session.SessionCommand)` instead.

| Parameters |
|---|---|
| `sessionCommand: https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand!` | The `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand`. |
| `parameter: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?` | The parameter required to execute the action associated with this command. See `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#executeAction(androidx.media3.session.MediaController)` for a list of supported actions and parameter types. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | This builder for chaining. |

### setSlots

```
@UnstableApi
@CanIgnoreReturnValue
fun setSlots(@CommandButton.Slot slots: IntArray<Int>!): CommandButton.Builder!
```

Sets the allowed `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Slot` positions for this button.

The button is only allowed in the defined slots. If none of the slots can display the button, either because the slots do not exist, are already occupied or the UI surface does not allow the specific type of button in these slots, the button will not be displayed at all.

When multiple slots are provided, they define a preference order. The button will be placed in the first slot in the list that exists, isn't already occupied and that allows this type of button.

When not specified, the default value depends on the associated `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder#setPlayerCommand(int)` and the `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Icon` set in the constructor:

- `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_PLAY_PAUSE()` and/or `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#ICON_PLAY()`, `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#ICON_PAUSE()`: `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#SLOT_CENTRAL()`
- `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_TO_PREVIOUS()`, `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM()`, `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_BACK()` and/or `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#ICON_PREVIOUS()`, `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#ICON_SKIP_BACK()`, `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#ICON_REWIND()`: `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#SLOT_BACK()`
- `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_TO_NEXT()`, `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_TO_NEXT_MEDIA_ITEM()`, `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_FORWARD()` and/or `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#ICON_NEXT()`, `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#ICON_SKIP_FORWARD()`, `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#ICON_FAST_FORWARD()`: `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#SLOT_FORWARD()`
- Anything else: `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton#SLOT_OVERFLOW()`

| Parameters |
|---|---|
| `@https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Slot slots: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int-array/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html>!` | The list of allowed `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Slot` positions. Must not be empty. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton.Builder!` | This builder for chaining. |