# MediaBrowser

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/MediaBrowser.java+class:androidx.media3.session.MediaBrowser)

*** ** * ** ***


```
class MediaBrowser : MediaController
```

<br />

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||
| ↳ | [androidx.media3.session.MediaController](https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController) ||
|   | ↳ | [androidx.media3.session.MediaBrowser](https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser) |

*** ** * ** ***

Browses media content offered by a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService` in addition to the `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController` functions.

## Backward interoperability

The browser is backwards-compatible when connected to a legacy `
androidx.media.MediaBrowserServiceCompat` or `android.service.media.MediaBrowserService` (unless otherwise stated).

## Summary

| ### Nested types |
|---|
| `class https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser.Builder` A builder for `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser`. |
| `interface https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser.Listener : https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController.Listener` A listener for events from `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService`. |

| ### Public functions |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult<https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!>!>!>!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser#getChildren(java.lang.String,int,int,androidx.media3.session.MediaLibraryService.LibraryParams)( parentId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, page: @https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, pageSize: @https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 1) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, params: https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.LibraryParams? )` Returns the children under a parent id. |
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult<https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!>!>!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser#getItem(java.lang.String)(mediaId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!)` Returns the media item with the given media id. |
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult<https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!>!>!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser#getLibraryRoot(androidx.media3.session.MediaLibraryService.LibraryParams)(params: https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.LibraryParams?)` Returns the library root item. |
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult<https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!>!>!>!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser#getSearchResult(java.lang.String,int,int,androidx.media3.session.MediaLibraryService.LibraryParams)( query: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, page: @https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, pageSize: @https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 1) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, params: https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.LibraryParams? )` Returns the search result from the library service. |
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult<https://developer.android.com/reference/java/lang/Void.html!>!>!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser#search(java.lang.String,androidx.media3.session.MediaLibraryService.LibraryParams)(query: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, params: https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.LibraryParams?)` Requests a search from the library service. |
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult<https://developer.android.com/reference/java/lang/Void.html!>!>!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser#subscribe(java.lang.String,androidx.media3.session.MediaLibraryService.LibraryParams)(parentId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, params: https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.LibraryParams?)` Subscribes to a parent id for changes to its children. |
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult<https://developer.android.com/reference/java/lang/Void.html!>!>!` | `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser#unsubscribe(java.lang.String)(parentId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!)` Unsubscribes from a parent id for changes to its children, which was previously subscribed by `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser#subscribe(java.lang.String,androidx.media3.session.MediaLibraryService.LibraryParams)`. |

### Inherited Constants

From [androidx.media3.session.MediaController](https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController) `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#DEFAULT_PLATFORM_CALLBACK_AGGREGATION_TIMEOUT_MS() = 100` `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#KEY_MEDIA_NOTIFICATION_CONTROLLER_FLAG() = "androidx.media3.session.MediaNotificationManager"`

Key to mark the connection hints of the media notification controller.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#RELEASE_UNBIND_TIMEOUT_MS() = 30000`

The timeout for handling pending commands after calling `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#release()`.
From [androidx.media3.common.Player](https://developer.android.com/reference/kotlin/androidx/media3/common/Player) `const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_ADJUST_DEVICE_VOLUME() = 26`

**This property is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_ADJUST_DEVICE_VOLUME_WITH_FLAGS()` instead.

<br />

`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_ADJUST_DEVICE_VOLUME_WITH_FLAGS() = 34`

Command to increase and decrease the device volume and mute it with volume flags.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_CHANGE_MEDIA_ITEMS() = 20`

Command to change the `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem` in the playlist.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_GET_AUDIO_ATTRIBUTES() = 21`

Command to get the player current `https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_GET_CURRENT_MEDIA_ITEM() = 16`

Command to get information about the currently playing `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_GET_DEVICE_VOLUME() = 23`

Command to get the device volume and whether it is muted.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_GET_MEDIA_ITEMS_METADATA() = 18`

**This property is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_GET_METADATA()` instead.

<br />

`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_GET_METADATA() = 18`

Command to get metadata related to the playlist and current `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_GET_TEXT() = 28`

Command to get the text that should currently be displayed by the player.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_GET_TIMELINE() = 17`

Command to get the information about the current timeline.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_GET_TRACKS() = 30`

Command to get details of the current track selection.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_GET_VOLUME() = 22`

Command to get the player volume.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_INVALID() = -1`

Represents an invalid `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Command`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_PLAY_PAUSE() = 1`

Command to start, pause or resume playback.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_PREPARE() = 2`

Command to prepare the player.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_RELEASE() = 32`

Command to release the player.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_BACK() = 11`

Command to seek back by a fixed increment inside the current `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_FORWARD() = 12`

Command to seek forward by a fixed increment inside the current `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM() = 5`

Command to seek anywhere inside the current `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_IN_CURRENT_WINDOW() = 5`

**This property is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM()` instead.

<br />

`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_TO_DEFAULT_POSITION() = 4`

Command to seek to the default position of the current `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_TO_MEDIA_ITEM() = 10`

Command to seek anywhere in any `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_TO_NEXT() = 9`

Command to seek to a later position in the current `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem` or the default position of the next `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_TO_NEXT_MEDIA_ITEM() = 8`

Command to seek to the default position of the next `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_TO_NEXT_WINDOW() = 8`

**This property is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_TO_NEXT_MEDIA_ITEM()` instead.

<br />

`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_TO_PREVIOUS() = 7`

Command to seek to an earlier position in the current `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem` or the default position of the previous `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM() = 6`

Command to seek to the default position of the previous `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_TO_PREVIOUS_WINDOW() = 6`

**This property is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM()` instead.

<br />

`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_TO_WINDOW() = 10`

**This property is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SEEK_TO_MEDIA_ITEM()` instead.

<br />

`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SET_AUDIO_ATTRIBUTES() = 35`

Command to set the player's audio attributes.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SET_DEVICE_VOLUME() = 25`

**This property is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SET_DEVICE_VOLUME_WITH_FLAGS()` instead.

<br />

`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SET_DEVICE_VOLUME_WITH_FLAGS() = 33`

Command to set the device volume with volume flags.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SET_MEDIA_ITEM() = 31`

Command to set a `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SET_MEDIA_ITEMS_METADATA() = 19`

**This property is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SET_PLAYLIST_METADATA()` instead.

<br />

`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SET_PLAYLIST_METADATA() = 19`

Command to set the playlist metadata.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SET_REPEAT_MODE() = 15`

Command to set the repeat mode.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SET_SHUFFLE_MODE() = 14`

Command to enable shuffling.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SET_SPEED_AND_PITCH() = 13`

Command to set the playback speed and pitch.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SET_TRACK_SELECTION_PARAMETERS() = 29`

Command to set the player's track selection parameters.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SET_VIDEO_SURFACE() = 27`

Command to set and clear the surface on which to render the video.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_SET_VOLUME() = 24`

Command to set the player volume.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#COMMAND_STOP() = 3`

Command to stop playback.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#DISCONTINUITY_REASON_AUTO_TRANSITION() = 0`

Automatic playback transition from one period in the timeline to the next.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#DISCONTINUITY_REASON_INTERNAL() = 5`

Discontinuity introduced internally (e.g. by the source).
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#DISCONTINUITY_REASON_REMOVE() = 4`

Discontinuity caused by the removal of the current period from the `https://developer.android.com/reference/kotlin/androidx/media3/common/Timeline`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#DISCONTINUITY_REASON_SEEK() = 1`

Seek within the current period or to another period.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#DISCONTINUITY_REASON_SEEK_ADJUSTMENT() = 2`

Seek adjustment due to being unable to seek to the requested position or because the seek was permitted to be inexact.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#DISCONTINUITY_REASON_SILENCE_SKIP() = 6`

Discontinuity introduced by a skipped silence.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#DISCONTINUITY_REASON_SKIP() = 3`

Discontinuity introduced by a skipped period (for instance a skipped ad).
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_AUDIO_ATTRIBUTES_CHANGED() = 20`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getAudioAttributes()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_AUDIO_SESSION_ID() = 21`

The audio session id was set.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_AVAILABLE_COMMANDS_CHANGED() = 13`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#isCommandAvailable(int)` changed for at least one `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Command`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_CUES() = 27`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getCurrentCues()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_DEVICE_INFO_CHANGED() = 29`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getDeviceInfo()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_DEVICE_VOLUME_CHANGED() = 30`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getDeviceVolume()` or `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#isDeviceMuted()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_IS_LOADING_CHANGED() = 3`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#isLoading()` ()} changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_IS_PLAYING_CHANGED() = 7`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#isPlaying()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED() = 18`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getMaxSeekToPreviousPosition()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_MEDIA_ITEM_TRANSITION() = 1`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getCurrentMediaItem()` changed or the player started repeating the current item.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_MEDIA_METADATA_CHANGED() = 14`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getMediaMetadata()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_METADATA() = 28`

Metadata associated with the current playback time changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_PLAYBACK_PARAMETERS_CHANGED() = 12`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getPlaybackParameters()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_PLAYBACK_STATE_CHANGED() = 4`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getPlaybackState()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED() = 6`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getPlaybackSuppressionReason()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_PLAYER_ERROR() = 10`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getPlayerError()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_PLAYLIST_METADATA_CHANGED() = 15`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getPlaylistMetadata()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_PLAY_WHEN_READY_CHANGED() = 5`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getPlayWhenReady()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_POSITION_DISCONTINUITY() = 11`

A position discontinuity occurred.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_RENDERED_FIRST_FRAME() = 26`

A frame is rendered for the first time since setting the surface, or since the renderer was reset, or since the stream being rendered was changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_REPEAT_MODE_CHANGED() = 8`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getRepeatMode()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_SEEK_BACK_INCREMENT_CHANGED() = 16`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getSeekBackIncrement()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_SEEK_FORWARD_INCREMENT_CHANGED() = 17`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getSeekForwardIncrement()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_SHUFFLE_MODE_ENABLED_CHANGED() = 9`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getShuffleModeEnabled()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_SKIP_SILENCE_ENABLED_CHANGED() = 23`

Skipping silences in the audio stream is enabled or disabled.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_SURFACE_SIZE_CHANGED() = 24`

The size of the surface onto which the video is being rendered changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_TIMELINE_CHANGED() = 0`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getCurrentTimeline()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_TRACKS_CHANGED() = 2`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getCurrentTracks()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_TRACK_SELECTION_PARAMETERS_CHANGED() = 19`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getTrackSelectionParameters()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_VIDEO_SIZE_CHANGED() = 25`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getVideoSize()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#EVENT_VOLUME_CHANGED() = 22`

`https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getVolume()` changed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#MEDIA_ITEM_TRANSITION_REASON_AUTO() = 1`

Playback has automatically transitioned to the next media item.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED() = 3`

The current media item has changed because of a change in the playlist.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#MEDIA_ITEM_TRANSITION_REASON_REPEAT() = 0`

The media item has been repeated.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#MEDIA_ITEM_TRANSITION_REASON_SEEK() = 2`

A seek to another media item has occurred.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#PLAYBACK_SUPPRESSION_REASON_NONE() = 0`

Playback is not suppressed.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#PLAYBACK_SUPPRESSION_REASON_SCRUBBING() = 4`

Playback is suppressed because the player is currently scrubbing.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#PLAYBACK_SUPPRESSION_REASON_TRANSIENT_AUDIO_FOCUS_LOSS() = 1`

Playback is suppressed due to transient audio focus loss.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#PLAYBACK_SUPPRESSION_REASON_UNSUITABLE_AUDIO_OUTPUT() = 3`

Playback is suppressed due to attempt to play on an unsuitable audio output (e.g. attempt to play on built-in speaker on a Wear OS device).
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#PLAYBACK_SUPPRESSION_REASON_UNSUITABLE_AUDIO_ROUTE() = 2`

**This property is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#PLAYBACK_SUPPRESSION_REASON_UNSUITABLE_AUDIO_OUTPUT()` instead.

<br />

`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#PLAY_WHEN_READY_CHANGE_REASON_AUDIO_BECOMING_NOISY() = 3`

Playback has been paused to avoid becoming noisy.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#PLAY_WHEN_READY_CHANGE_REASON_AUDIO_FOCUS_LOSS() = 2`

Playback has been paused because of a loss of audio focus.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#PLAY_WHEN_READY_CHANGE_REASON_END_OF_MEDIA_ITEM() = 5`

Playback has been paused at the end of a media item.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#PLAY_WHEN_READY_CHANGE_REASON_REMOTE() = 4`

Playback has been started or paused because of a remote change.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#PLAY_WHEN_READY_CHANGE_REASON_SUPPRESSED_TOO_LONG() = 6`

Playback has been paused because playback has been `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getPlaybackSuppressionReason()` too long.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST() = 1`

Playback has been started or paused by a call to `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#setPlayWhenReady(boolean)`.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#REPEAT_MODE_ALL() = 2`

Repeats the entire timeline infinitely.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#REPEAT_MODE_OFF() = 0`

Normal playback without repetition.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#REPEAT_MODE_ONE() = 1`

Repeats the currently playing `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem` infinitely during ongoing playback.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#STATE_BUFFERING() = 2`

The player is not able to immediately play the media, but is doing work toward being able to do so.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#STATE_ENDED() = 4`

The player has finished playing the media.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#STATE_IDLE() = 1`

The player is idle, meaning it holds only limited resources.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#STATE_READY() = 3`

The player is able to immediately play from its current position.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED() = 0`

Timeline changed as a result of a change of the playlist items or the order of the items.
`const https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#TIMELINE_CHANGE_REASON_SOURCE_UPDATE() = 1`

Timeline changed as a result of a source update (e.g. result of a dynamic update by the played media).

### Inherited functions

From [androidx.media3.session.MediaController](https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController) `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#addListener(androidx.media3.common.Player.Listener)(listener: https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Listener!)`

Registers a listener to receive all events from the player.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#addMediaItem(androidx.media3.common.MediaItem)(mediaItem: https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!)`

Adds a media item to the end of the playlist.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#addMediaItem(int,androidx.media3.common.MediaItem)(index: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, mediaItem: https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!)`

Adds a media item at the given index of the playlist.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#addMediaItems(java.util.List<androidx.media3.common.MediaItem>)(mediaItems: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!>!)`

Adds a list of media items to the end of the playlist.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#addMediaItems(int,java.util.List<androidx.media3.common.MediaItem>)(index: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, mediaItems: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!>!)`

Adds a list of media items at the given index of the playlist.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#canAdvertiseSession()()`

Returns whether the player can be used to advertise a media session.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#clearMediaItems()()`

Clears the playlist.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#clearVideoSurface()()`

Clears any , , or currently set on the player.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#clearVideoSurface(android.view.Surface)(surface: https://developer.android.com/reference/android/view/Surface.html?)`

Clears the onto which video is being rendered if it matches the one passed.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#clearVideoSurfaceHolder(android.view.SurfaceHolder)(surfaceHolder: https://developer.android.com/reference/android/view/SurfaceHolder.html?)`

Clears the that holds the onto which video is being rendered if it matches the one passed.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#clearVideoSurfaceView(android.view.SurfaceView)(surfaceView: https://developer.android.com/reference/android/view/SurfaceView.html?)`

Clears the onto which video is being rendered if it matches the one passed.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#clearVideoTextureView(android.view.TextureView)(textureView: https://developer.android.com/reference/android/view/TextureView.html?)`

Clears the onto which video is being rendered if it matches the one passed.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `[decreaseDeviceVolume](https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#decreaseDeviceVolume())()`

**This function is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#decreaseDeviceVolume(int)` instead.

<br />

`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#decreaseDeviceVolume(int)(@https://developer.android.com/reference/kotlin/androidx/media3/common/C.VolumeFlags flags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Decreases the volume of the device.
`https://developer.android.com/reference/android/os/Looper.html!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getApplicationLooper()()`

Returns the `https://developer.android.com/reference/android/os/Looper.html` associated with the application thread that's used to access the player and on which player events are received.
`https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getAudioAttributes()()`

Returns the attributes for audio playback.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getAudioSessionId()()`

Returns the audio session identifier, or `https://developer.android.com/reference/kotlin/androidx/media3/common/C#AUDIO_SESSION_ID_UNSET()` if not set.
`https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Commands!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getAvailableCommands()()`

Returns the player's currently available `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Commands`.
`https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getAvailableSessionCommands()()`

Returns the current available session commands from `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController.Listener#onAvailableSessionCommandsChanged(androidx.media3.session.MediaController,androidx.media3.session.SessionCommands)`, or `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommands#EMPTY()` if it is not connected.
`@https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 0, to = 100) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getBufferedPercentage()()`

Returns an estimate of the percentage in the current content or ad up to which data is buffered, or 0 if no estimate is available.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getBufferedPosition()()`

Returns an estimate of the position in the current content or ad up to which data is buffered, in milliseconds.
`https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton!>!` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getCommandButtonsForMediaItem(androidx.media3.common.MediaItem)(mediaItem: https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!)`

Returns the command buttons that are supported for the given `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken?` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getConnectedToken()()`

Returns the `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionToken` of the connected session, or `null` if it is not connected.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getContentBufferedPosition()()`

If #isPlayingAd() returns true}, returns an estimate of the content position in the current content up to which data is buffered, in milliseconds.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getContentDuration()()`

If #isPlayingAd() returns true}, returns the duration of the current content in milliseconds, or C#TIME_UNSET if the duration is not known.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getContentPosition()()`

If #isPlayingAd() returns true}, returns the content position that will be played once all ads in the ad group have finished playing, in milliseconds.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getCurrentAdGroupIndex()()`

If #isPlayingAd() returns true, returns the index of the ad group in the period currently being played.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getCurrentAdIndexInAdGroup()()`

If #isPlayingAd() returns true, returns the index of the ad in its ad group.
`https://developer.android.com/reference/kotlin/androidx/media3/common/text/CueGroup!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getCurrentCues()()`

Returns the current .
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getCurrentLiveOffset()()`

Returns the offset of the current playback position from the live edge in milliseconds, or `https://developer.android.com/reference/kotlin/androidx/media3/common/C#TIME_UNSET()` if the current `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem``https://developer.android.com/reference/kotlin/androidx/media3/common/Player#isCurrentMediaItemLive()` or the offset is unknown.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getCurrentManifest()()`

Returns `null`.
`https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem?` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getCurrentMediaItem()()`

Returns the currently playing `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getCurrentMediaItemIndex()()`

Returns the index of the current `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem` in the `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getCurrentTimeline()`, or the prospective index if the `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getCurrentTimeline()` is empty.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getCurrentPeriodIndex()()`

Returns the index of the period currently being played.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getCurrentPosition()()`

Returns the playback position in the current content or ad, in milliseconds, or the prospective position in milliseconds if the `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getCurrentTimeline()` is empty.
`https://developer.android.com/reference/kotlin/androidx/media3/common/Timeline!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getCurrentTimeline()()`

Returns the current .
`https://developer.android.com/reference/kotlin/androidx/media3/common/Tracks!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getCurrentTracks()()`

Returns the current tracks.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
[getCurrentWindowIndex](https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getCurrentWindowIndex())()`

**This function is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getCurrentMediaItemIndex()` instead.

<br />

`https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton!>!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getCustomLayout()()`

Returns the custom layout.
`https://developer.android.com/reference/kotlin/androidx/media3/common/DeviceInfo!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getDeviceInfo()()`

Gets the device information.
`@https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getDeviceVolume()()`

Gets the current volume of the device.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getDuration()()`

Returns the duration of the current content or ad in milliseconds, or `https://developer.android.com/reference/kotlin/androidx/media3/common/C#TIME_UNSET()` if the duration is not known.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getMaxSeekToPreviousPosition()()`

Returns the maximum position for which #seekToPrevious() seeks to the previous \* , in milliseconds.
`https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/kotlin/androidx/media3/session/CommandButton!>!` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getMediaButtonPreferences()()`

Returns the media button preferences.
`https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getMediaItemAt(int)(index: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Returns the `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem` at the given index.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getMediaItemCount()()`

Returns the number of `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem` in the playlist.
`https://developer.android.com/reference/kotlin/androidx/media3/common/MediaMetadata!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getMediaMetadata()()`

Returns the current combined `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaMetadata`, or `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaMetadata#EMPTY()` if not supported.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getNextMediaItemIndex()()`

Returns the index of the that will be played if \* #seekToNextMediaItem() is called, which may depend on the current repeat mode and whether shuffle mode is enabled.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
[getNextWindowIndex](https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getNextWindowIndex())()`

**This function is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getNextMediaItemIndex()` instead.

<br />

`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getPlayWhenReady()()`

Whether playback will proceed when `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getPlaybackState()` == `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#STATE_READY()`.
`https://developer.android.com/reference/kotlin/androidx/media3/common/PlaybackParameters!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getPlaybackParameters()()`

Returns the currently active playback parameters.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/Player.State
https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getPlaybackState()()`

Returns the current `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.State` of the player.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/Player.PlaybackSuppressionReason
https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getPlaybackSuppressionReason()()`

Returns the reason why playback is suppressed even though #getPlayWhenReady() is \*true, or #PLAYBACK_SUPPRESSION_REASON_NONE if playback is not suppressed.
`https://developer.android.com/reference/kotlin/androidx/media3/common/PlaybackException?` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getPlayerError()()`

Returns the error that caused playback to fail.
`https://developer.android.com/reference/kotlin/androidx/media3/common/MediaMetadata!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getPlaylistMetadata()()`

Returns the playlist `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaMetadata`, as set by `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#setPlaylistMetadata(androidx.media3.common.MediaMetadata)`, or `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaMetadata#EMPTY()` if not supported.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getPreviousMediaItemIndex()()`

Returns the index of the that will be played if \* #seekToPreviousMediaItem() is called, which may depend on the current repeat mode and whether shuffle mode is enabled.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
[getPreviousWindowIndex](https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getPreviousWindowIndex())()`

**This function is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getPreviousMediaItemIndex()` instead.

<br />

`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/Player.RepeatMode
https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getRepeatMode()()`

Returns the current `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.RepeatMode` used for playback.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getSeekBackIncrement()()`

Returns the #seekBack() increment.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getSeekForwardIncrement()()`

Returns the #seekForward() increment.
`https://developer.android.com/reference/android/app/PendingIntent.html?` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getSessionActivity()()`

Returns an intent for launching UI associated with the session if exists, or `null`.
`https://developer.android.com/reference/android/os/Bundle.html!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getSessionExtras()()`

Returns the session extras.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getShuffleModeEnabled()()`

Returns whether shuffling of media items is enabled.
`https://developer.android.com/reference/kotlin/androidx/media3/common/util/Size!` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getSurfaceSize()()`

Gets the size of the surface on which the video is rendered.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getTotalBufferedDuration()()`

Returns an estimate of the total buffered duration from the current position, in milliseconds.
`https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getTrackSelectionParameters()()`

Returns the parameters constraining the track selection.
`https://developer.android.com/reference/kotlin/androidx/media3/common/VideoSize!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getVideoSize()()`

Gets the size of the video.
`@https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0, to = 1) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#getVolume()()`

Returns the audio volume, with 0 being silence and 1 being unity gain (signal unchanged).
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#hasNextMediaItem()()`

Returns whether a next `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem` exists, which may depend on the current repeat mode and whether shuffle mode is enabled.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#hasPreviousMediaItem()()`

Returns whether a previous media item exists, which may depend on the current repeat mode and whether shuffle mode is enabled.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `[increaseDeviceVolume](https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#increaseDeviceVolume())()`

**This function is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#increaseDeviceVolume(int)` instead.

<br />

`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#increaseDeviceVolume(int)(@https://developer.android.com/reference/kotlin/androidx/media3/common/C.VolumeFlags flags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Increases the volume of the device.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isCommandAvailable(int)(@https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Command command: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Returns whether the provided `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Command` is available.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isConnected()()`

Returns whether this controller is connected to a `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession` or not.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isCurrentMediaItemDynamic()()`

Returns whether the current `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem` is dynamic (may change when the `https://developer.android.com/reference/kotlin/androidx/media3/common/Timeline` is updated), or `false` if the `https://developer.android.com/reference/kotlin/androidx/media3/common/Timeline` is empty.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isCurrentMediaItemLive()()`

Returns whether the current `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem` is live, or `false` if the `https://developer.android.com/reference/kotlin/androidx/media3/common/Timeline` is empty.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isCurrentMediaItemSeekable()()`

Returns whether the current `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem` is seekable, or `false` if the `https://developer.android.com/reference/kotlin/androidx/media3/common/Timeline` is empty.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
[isCurrentWindowDynamic](https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isCurrentWindowDynamic())()`

**This function is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isCurrentMediaItemDynamic()` instead.

<br />

`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
[isCurrentWindowLive](https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isCurrentWindowLive())()`

**This function is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isCurrentMediaItemLive()` instead.

<br />

`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
[isCurrentWindowSeekable](https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isCurrentWindowSeekable())()`

**This function is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isCurrentMediaItemSeekable()` instead.

<br />

`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isDeviceMuted()()`

Gets whether the device is muted or not.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isLoading()()`

Whether the player is currently loading the source.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isPlaying()()`

Returns whether the player is playing, i.e. `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getCurrentPosition()` is advancing.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isPlayingAd()()`

Returns whether the player is currently playing an ad.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isSessionCommandAvailable(int)(
@https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand.CommandCode sessionCommandCode: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html
)`

Returns whether the `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand.CommandCode` is available.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#isSessionCommandAvailable(androidx.media3.session.SessionCommand)(sessionCommand: https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand!)`

Returns whether the `https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand` is available.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#moveMediaItem(int,int)(currentIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, newIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Moves the media item at the current index to the new index.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#moveMediaItems(int,int,int)(fromIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, toIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, newIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Moves the media item range to the new index.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#mute()()`

Sets the audio volume to 0.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#pause()()`

Pauses playback.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#play()()`

Resumes playback as soon as `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getPlaybackState()` == `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#STATE_READY()`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#prepare()()`

Prepares the player.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#release()()`

Releases the connection between `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController` and `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession`.
`java-static https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#releaseFuture(java.util.concurrent.Future<? extends androidx.media3.session.MediaController>)(controllerFuture: https://developer.android.com/reference/java/util/concurrent/Future.html<https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController!>!)`

Releases the future controller returned by `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController.Builder#buildAsync()`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#removeListener(androidx.media3.common.Player.Listener)(listener: https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Listener!)`

Unregister a listener registered through `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#addListener(androidx.media3.common.Player.Listener)`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#removeMediaItem(int)(index: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Removes the media item at the given index of the playlist.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#removeMediaItems(int,int)(fromIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, toIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Removes a range of media items from the playlist.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#replaceMediaItem(int,androidx.media3.common.MediaItem)(index: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, mediaItem: https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!)`

Replaces the media item at the given index of the playlist.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#replaceMediaItems(int,int,java.util.List<androidx.media3.common.MediaItem>)(
fromIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html,
toIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html,
mediaItems: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!>!
)`

Replaces the media items at the given range of the playlist.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#seekBack()()`

Seeks back in the current by #getSeekBackIncrement() milliseconds.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#seekForward()()`

Seeks forward in the current by #getSeekForwardIncrement() milliseconds.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#seekTo(long)(positionMs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)`

Seeks to a position specified in milliseconds in the current `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#seekTo(int,long)(mediaItemIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, positionMs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)`

Seeks to a position specified in milliseconds in the specified `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#seekToDefaultPosition()()`

Seeks to the default position associated with the current `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#seekToDefaultPosition(int)(mediaItemIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Seeks to the default position associated with the specified `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#seekToNext()()`

Seeks to a later position in the current or next (if available).
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#seekToNextMediaItem()()`

Seeks to the default position of the next , which may depend on the current repeat mode and whether shuffle mode is enabled.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#seekToPrevious()()`

Seeks to an earlier position in the current or previous (if available).
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#seekToPreviousMediaItem()()`

Seeks to the default position of the previous , which may depend on the current repeat mode and whether shuffle mode is enabled.
`https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/SessionResult!>!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#sendCustomCommand(androidx.media3.session.SessionCommand,android.os.Bundle)(command: https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand!, args: https://developer.android.com/reference/android/os/Bundle.html!)`

Sends a custom command to the session.
`https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/SessionResult!>!` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#sendCustomCommand(androidx.media3.session.SessionCommand,android.os.Bundle,androidx.media3.session.MediaController.ProgressListener)(
command: https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand!,
args: https://developer.android.com/reference/android/os/Bundle.html!,
progressListener: https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController.ProgressListener?
)`

Sends a custom command to the session.
`https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/SessionResult!>!` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#sendCustomCommand(androidx.media3.session.SessionCommand,androidx.media3.common.MediaItem,android.os.Bundle)(
command: https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand!,
mediaItem: https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!,
args: https://developer.android.com/reference/android/os/Bundle.html!
)`

Sends a custom command to the session for the given `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/SessionResult!>!` `@https://developer.android.com/reference/kotlin/androidx/media3/common/util/UnstableApi
https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#sendCustomCommand(androidx.media3.session.SessionCommand,androidx.media3.common.MediaItem,android.os.Bundle,androidx.media3.session.MediaController.ProgressListener)(
command: https://developer.android.com/reference/kotlin/androidx/media3/session/SessionCommand!,
mediaItem: https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!,
args: https://developer.android.com/reference/android/os/Bundle.html!,
progressListener: https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController.ProgressListener?
)`

Sends a custom command to the session for the given `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setAudioAttributes(androidx.media3.common.AudioAttributes,boolean)(
audioAttributes: https://developer.android.com/reference/kotlin/androidx/media3/common/AudioAttributes!,
handleAudioFocus: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html
)`

Sets the attributes for audio playback, used by the underlying audio track.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `[setDeviceMuted](https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setDeviceMuted(boolean))(muted: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`

**This function is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setDeviceMuted(boolean,int)` instead.

<br />

`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setDeviceMuted(boolean,int)(muted: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, @https://developer.android.com/reference/kotlin/androidx/media3/common/C.VolumeFlags flags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Sets the mute state of the device.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `[setDeviceVolume](https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setDeviceVolume(int))(volume: @https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

**This function is deprecated.**

Use `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setDeviceVolume(int,int)` instead.

<br />

`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setDeviceVolume(int,int)(volume: @https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html, @https://developer.android.com/reference/kotlin/androidx/media3/common/C.VolumeFlags flags: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Sets the volume of the device with volume flags.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setMediaItem(androidx.media3.common.MediaItem)(mediaItem: https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!)`

Clears the playlist, adds the specified `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem` and resets the position to the default position.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setMediaItem(androidx.media3.common.MediaItem,boolean)(mediaItem: https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!, resetPosition: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`

Clears the playlist and adds the specified `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setMediaItem(androidx.media3.common.MediaItem,long)(mediaItem: https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!, startPositionMs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)`

Clears the playlist and adds the specified `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setMediaItems(java.util.List<androidx.media3.common.MediaItem>)(mediaItems: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!>!)`

Clears the playlist, adds the specified `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem` and resets the position to the default position.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setMediaItems(java.util.List<androidx.media3.common.MediaItem>,boolean)(
mediaItems: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!>!,
resetPosition: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html
)`

Clears the playlist and adds the specified `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setMediaItems(java.util.List<androidx.media3.common.MediaItem>,int,long)(
mediaItems: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!>!,
startIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html,
startPositionMs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html
)`

Clears the playlist and adds the specified `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setPlayWhenReady(boolean)(playWhenReady: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`

Sets whether playback should proceed when `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#getPlaybackState()` == `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#STATE_READY()`.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setPlaybackParameters(androidx.media3.common.PlaybackParameters)(playbackParameters: https://developer.android.com/reference/kotlin/androidx/media3/common/PlaybackParameters!)`

Attempts to set the playback parameters.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setPlaybackSpeed(float)(speed: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)`

Changes the rate at which playback occurs.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setPlaylistMetadata(androidx.media3.common.MediaMetadata)(playlistMetadata: https://developer.android.com/reference/kotlin/androidx/media3/common/MediaMetadata!)`

Sets the playlist .
`https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/SessionResult!>!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setRating(androidx.media3.common.Rating)(rating: https://developer.android.com/reference/kotlin/androidx/media3/common/Rating!)`

Requests that the connected `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession` rates the current media item.
`https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/SessionResult!>!` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setRating(java.lang.String,androidx.media3.common.Rating)(mediaId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!, rating: https://developer.android.com/reference/kotlin/androidx/media3/common/Rating!)`

Requests that the connected `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaSession` rates the media.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setRepeatMode(int)(@https://developer.android.com/reference/kotlin/androidx/media3/common/Player.RepeatMode repeatMode: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`

Sets the `https://developer.android.com/reference/kotlin/androidx/media3/common/Player.RepeatMode` to be used for playback.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setShuffleModeEnabled(boolean)(shuffleModeEnabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`

Sets whether shuffling of media items is enabled.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setTrackSelectionParameters(androidx.media3.common.TrackSelectionParameters)(parameters: https://developer.android.com/reference/kotlin/androidx/media3/common/TrackSelectionParameters!)`

Sets the parameters constraining the track selection.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setVideoSurface(android.view.Surface)(surface: https://developer.android.com/reference/android/view/Surface.html?)`

Sets the onto which video will be rendered.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setVideoSurfaceHolder(android.view.SurfaceHolder)(surfaceHolder: https://developer.android.com/reference/android/view/SurfaceHolder.html?)`

Sets the that holds the onto which video will be rendered.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setVideoSurfaceView(android.view.SurfaceView)(surfaceView: https://developer.android.com/reference/android/view/SurfaceView.html?)`

Sets the onto which video will be rendered.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setVideoTextureView(android.view.TextureView)(textureView: https://developer.android.com/reference/android/view/TextureView.html?)`

Sets the onto which video will be rendered.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#setVolume(float)(volume: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0, to = 1) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)`

Sets the audio volume, valid values are between 0 (silence) and 1 (unity gain, signal unchanged), inclusive.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#stop()()`

Stops playback without resetting the playlist.
`https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaController#unmute()()`

If the audio volume is 0, sets the audio volume to a non-zero value decided by the Player to be the most appropriate.
From [androidx.media3.common.Player](https://developer.android.com/reference/kotlin/androidx/media3/common/Player) `abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#addListener(androidx.media3.common.Player.Listener)(listener: https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Listener!)`

Registers a listener to receive all events from the player.
`abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#removeListener(androidx.media3.common.Player.Listener)(listener: https://developer.android.com/reference/kotlin/androidx/media3/common/Player.Listener!)`

Unregister a listener registered through `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#addListener(androidx.media3.common.Player.Listener)`.
`abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#setMediaItems(java.util.List<androidx.media3.common.MediaItem>,int,long)(
mediaItems: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-mutable-list/index.html)https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!>!,
startIndex: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html,
startPositionMs: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html
)`

Clears the playlist and adds the specified `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem`.
`abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#setPlaybackSpeed(float)(speed: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0, fromInclusive = false) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)`

Changes the rate at which playback occurs.
`abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#setPlaylistMetadata(androidx.media3.common.MediaMetadata)(mediaMetadata: https://developer.android.com/reference/kotlin/androidx/media3/common/MediaMetadata!)`

Sets the playlist `https://developer.android.com/reference/kotlin/androidx/media3/common/MediaMetadata`.
`abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/media3/common/Player#setVolume(float)(volume: @https://developer.android.com/reference/kotlin/androidx/annotation/FloatRange(from = 0, to = 1.0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)`

Sets the audio volume, valid values are between 0 (silence) and 1 (unity gain, signal unchanged), inclusive.

## Public functions

### getChildren

```
fun getChildren(
    parentId: String!,
    page: @IntRange(from = 0) Int,
    pageSize: @IntRange(from = 1) Int,
    params: MediaLibraryService.LibraryParams?
): ListenableFuture<LibraryResult<ImmutableList<MediaItem!>!>!>!
```

Returns the children under a parent id.

If it's successfully completed, `https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult#value()` will have the children.

| Parameters |
|---|---|
| `parentId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | A non-empty parent id for getting the children. |
| `page: @https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | A page number to get the paginated result starting from `0`. |
| `pageSize: @https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 1) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | A page size to get the paginated result. Should be greater than `0`. |
| `params: https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.LibraryParams?` | Optional parameters. |

| Returns |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult<https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!>!>!>!` | A `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html` of `https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult` that represents the pending result. |

### getItem

```
fun getItem(mediaId: String!): ListenableFuture<LibraryResult<MediaItem!>!>!
```

Returns the media item with the given media id.

If it's successfully completed, `https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult#value()` will have the media item.

| Parameters |
|---|---|
| `mediaId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | A non-empty media id. |

| Returns |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult<https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!>!>!` | A `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html` of `https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult` that represents the pending result. |

### getLibraryRoot

```
fun getLibraryRoot(params: MediaLibraryService.LibraryParams?): ListenableFuture<LibraryResult<MediaItem!>!>!
```

Returns the library root item.

If it's successfully completed, `https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult#value()` will have the library root item.

| Parameters |
|---|---|
| `params: https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.LibraryParams?` | The optional parameters for getting library root item. |

| Returns |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult<https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!>!>!` | A `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html` of `https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult` that represents the pending result. |

### getSearchResult

```
fun getSearchResult(
    query: String!,
    page: @IntRange(from = 0) Int,
    pageSize: @IntRange(from = 1) Int,
    params: MediaLibraryService.LibraryParams?
): ListenableFuture<LibraryResult<ImmutableList<MediaItem!>!>!>!
```

Returns the search result from the library service.

If it's successfully completed, `https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult#value()` will have the search result.

| Parameters |
|---|---|
| `query: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | A non-empty search query that you've specified with `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser#search(java.lang.String,androidx.media3.session.MediaLibraryService.LibraryParams)`. |
| `page: @https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 0) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | A page number to get the paginated result starting from `0`. |
| `pageSize: @https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 1) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | A page size to get the paginated result. Should be greater than `0`. |
| `params: https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.LibraryParams?` | Optional parameters. |

| Returns |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult<https://guava.dev/releases/snapshot-android/api/docs/com/google/common/collect/ImmutableList.html<https://developer.android.com/reference/kotlin/androidx/media3/common/MediaItem!>!>!>!` | A `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html` of `https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult` that represents the pending result. |

### search

```
fun search(query: String!, params: MediaLibraryService.LibraryParams?): ListenableFuture<LibraryResult<Void!>!>!
```

Requests a search from the library service.

Returned `https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult` will only tell whether the attempt to search was successful. For getting the search result, listen to `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser.Listener#onSearchResultChanged(androidx.media3.session.MediaBrowser,java.lang.String,int,androidx.media3.session.MediaLibraryService.LibraryParams)` and call `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser#getSearchResult(java.lang.String,int,int,androidx.media3.session.MediaLibraryService.LibraryParams)`}.

| Parameters |
|---|---|
| `query: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | A non-empty search query. |
| `params: https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.LibraryParams?` | Optional parameters. |

| Returns |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult<https://developer.android.com/reference/java/lang/Void.html!>!>!` | A `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html` of `https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult` that represents the pending result. |

### subscribe

```
fun subscribe(parentId: String!, params: MediaLibraryService.LibraryParams?): ListenableFuture<LibraryResult<Void!>!>!
```

Subscribes to a parent id for changes to its children. When there's a change, `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser.Listener#onChildrenChanged(androidx.media3.session.MediaBrowser,java.lang.String,int,androidx.media3.session.MediaLibraryService.LibraryParams)` will be called with the `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.LibraryParams`. You may call `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser#getChildren(java.lang.String,int,int,androidx.media3.session.MediaLibraryService.LibraryParams)` to get the children.

| Parameters |
|---|---|
| `parentId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | A non-empty parent id to subscribe to. |
| `params: https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.LibraryParams?` | Optional parameters. |

| Returns |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult<https://developer.android.com/reference/java/lang/Void.html!>!>!` | A `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html` of `https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult` that represents the pending result. |

### unsubscribe

```
fun unsubscribe(parentId: String!): ListenableFuture<LibraryResult<Void!>!>!
```

Unsubscribes from a parent id for changes to its children, which was previously subscribed by `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaBrowser#subscribe(java.lang.String,androidx.media3.session.MediaLibraryService.LibraryParams)`.

This unsubscribes from all previous subscriptions with the parent id, regardless of the `https://developer.android.com/reference/kotlin/androidx/media3/session/MediaLibraryService.LibraryParams` that was previously given.

| Parameters |
|---|---|
| `parentId: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html!` | A non-empty parent id to unsubscribe from. |

| Returns |
|---|---|
| `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html<https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult<https://developer.android.com/reference/java/lang/Void.html!>!>!` | A `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html` of `https://developer.android.com/reference/kotlin/androidx/media3/session/LibraryResult` that represents the pending result. |