# androidx.media3.session

*** ** * ** ***

## Annotations

|---|---|
| `https://developer.android.com/reference/androidx/media3/session/CommandButton.Icon` | An icon constant for a button. |
| `https://developer.android.com/reference/androidx/media3/session/CommandButton.Slot` | A slot at which a button can be displayed in a UI surface. |
| `https://developer.android.com/reference/androidx/media3/session/LibraryResult.Code` | Result codes. |
| `https://developer.android.com/reference/androidx/media3/session/MediaSessionService.ShowNotificationForIdlePlayerMode` | The behavior for showing notifications when the `https://developer.android.com/reference/androidx/media3/common/Player` is in `https://developer.android.com/reference/androidx/media3/common/Player#STATE_IDLE()`. |
| `https://developer.android.com/reference/androidx/media3/session/SessionCommand.CommandCode` | Command codes of session commands. |
| `https://developer.android.com/reference/androidx/media3/session/SessionError.Code` | Info and error result codes. |
| `https://developer.android.com/reference/androidx/media3/session/SessionResult.Code` | Result codes. |
| `https://developer.android.com/reference/androidx/media3/session/SessionToken.TokenType` | Types of `https://developer.android.com/reference/androidx/media3/session/SessionToken`. |

## Interfaces

|---|---|
| `https://developer.android.com/reference/androidx/media3/session/BitmapLoader` | **This interface is deprecated.** Use `https://developer.android.com/reference/androidx/media3/common/util/BitmapLoader` instead. <br /> |
| `https://developer.android.com/reference/androidx/media3/session/DefaultMediaNotificationProvider.NotificationIdProvider` | Provides notification IDs for posting media notifications for given media sessions. |
| `https://developer.android.com/reference/androidx/media3/session/MediaBrowser.Listener` | A listener for events from `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaController.Listener` | A listener for events and incoming commands from `https://developer.android.com/reference/androidx/media3/session/MediaSession`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaController.ProgressListener` | A listener to receive progress updates of a custom command when a custom command is sent and a non-null `https://developer.android.com/reference/androidx/media3/session/MediaController.ProgressListener` is passed into `https://developer.android.com/reference/androidx/media3/session/MediaController#sendCustomCommand(androidx.media3.session.SessionCommand,android.os.Bundle,androidx.media3.session.MediaController.ProgressListener)`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService.MediaLibrarySession.Callback` | An extended `https://developer.android.com/reference/androidx/media3/session/MediaSession.Callback` for the `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService.MediaLibrarySession`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaNotification.ActionFactory` | Creates `https://developer.android.com/reference/androidx/core/app/NotificationCompat.Action` and `https://developer.android.com/reference/android/app/PendingIntent.html` for notifications. |
| `https://developer.android.com/reference/androidx/media3/session/MediaNotification.Provider` | Provides `https://developer.android.com/reference/androidx/media3/session/MediaNotification` to be posted as notifications that reflect the state of a `https://developer.android.com/reference/androidx/media3/session/MediaController` and to send media commands to a `https://developer.android.com/reference/androidx/media3/session/MediaSession`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaNotification.Provider.Callback` | Receives updates for a notification. |
| `https://developer.android.com/reference/androidx/media3/session/MediaSession.Callback` | A callback to handle incoming commands from `https://developer.android.com/reference/androidx/media3/session/MediaController`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaSession.ProgressReporter` | A progress reporter to report progress for a custom command sent by a controller. |
| `https://developer.android.com/reference/androidx/media3/session/MediaSessionManager.OnActiveSessionsChangedListener` | Listener for changes to the active sessions. |
| `https://developer.android.com/reference/androidx/media3/session/MediaSessionService.Listener` | Listener for `https://developer.android.com/reference/androidx/media3/session/MediaSessionService`. |

## Classes

|---|---|
| `https://developer.android.com/reference/androidx/media3/session/BluetoothValidationActivity` | A hidden activity to satisfy Bluetooth AVRCP validation on API 36 and 37 without exposing the app as a general-purpose audio player to the user. |
| `https://developer.android.com/reference/androidx/media3/session/CacheBitmapLoader` | A `https://developer.android.com/reference/androidx/media3/common/util/BitmapLoader` that caches the result of the last `https://developer.android.com/reference/androidx/media3/session/CacheBitmapLoader#decodeBitmap(byte[])`, `https://developer.android.com/reference/androidx/media3/session/CacheBitmapLoader#loadBitmap(android.net.Uri)` or `https://developer.android.com/reference/androidx/media3/session/CacheBitmapLoader#loadBitmapFromMetadata(androidx.media3.common.MediaMetadata)` request. |
| `https://developer.android.com/reference/androidx/media3/session/CommandButton` | A button for a `https://developer.android.com/reference/androidx/media3/session/SessionCommand` or `https://developer.android.com/reference/androidx/media3/common/Player.Command` that can be displayed by controllers. |
| `https://developer.android.com/reference/androidx/media3/session/CommandButton.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/session/CommandButton`. |
| `https://developer.android.com/reference/androidx/media3/session/CommandButton.DisplayConstraints` | Constraints for displaying a list of `https://developer.android.com/reference/androidx/media3/session/CommandButton` instances with utilities to resolve these constraints for a given list of buttons. |
| `https://developer.android.com/reference/androidx/media3/session/CommandButton.DisplayConstraints.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/session/CommandButton.DisplayConstraints`. |
| `https://developer.android.com/reference/androidx/media3/session/CustomCommandPendingIntentBuilder` | Builds a `https://developer.android.com/reference/android/app/PendingIntent.html` to send a custom command to a `https://developer.android.com/reference/androidx/media3/session/MediaSessionService`. |
| `https://developer.android.com/reference/androidx/media3/session/DefaultMediaNotificationProvider` | The default `https://developer.android.com/reference/androidx/media3/session/MediaNotification.Provider`. |
| `https://developer.android.com/reference/androidx/media3/session/DefaultMediaNotificationProvider.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/session/DefaultMediaNotificationProvider` instances. |
| `https://developer.android.com/reference/androidx/media3/session/LibraryResult` | A result to be used with `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html` for asynchronous calls between `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService.MediaLibrarySession` and `https://developer.android.com/reference/androidx/media3/session/MediaBrowser`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaBrowser` | Browses media content offered by a `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService` in addition to the `https://developer.android.com/reference/androidx/media3/session/MediaController` functions. |
| `https://developer.android.com/reference/androidx/media3/session/MediaBrowser.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/session/MediaBrowser`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaButtonReceiver` | A media button receiver receives hardware media playback button intent, such as those sent by wired and wireless headsets. |
| `https://developer.android.com/reference/androidx/media3/session/MediaConstants` | Constants that can be shared between media session and controller. |
| `https://developer.android.com/reference/androidx/media3/session/MediaController` | A controller that interacts with a `https://developer.android.com/reference/androidx/media3/session/MediaSession`, a `https://developer.android.com/reference/androidx/media3/session/MediaSessionService` hosting a `https://developer.android.com/reference/androidx/media3/session/MediaSession`, or a `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService` hosting a `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService.MediaLibrarySession`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaController.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/session/MediaController`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService` | Superclass to be extended by services hosting `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService.MediaLibrarySession`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService.LibraryParams` | Parameters for the interaction between `https://developer.android.com/reference/androidx/media3/session/MediaBrowser` and `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService.MediaLibrarySession`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService.LibraryParams.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService.LibraryParams`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService.MediaLibrarySession` | An extended `https://developer.android.com/reference/androidx/media3/session/MediaSession` for the `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService.MediaLibrarySession.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService.MediaLibrarySession`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaNotification` | A notification for media playbacks. |
| `https://developer.android.com/reference/androidx/media3/session/MediaNotification.Provider.NotificationChannelInfo` | Properties of the notification channel used for the notification. |
| `https://developer.android.com/reference/androidx/media3/session/MediaSession` | A session that allows a media app to expose its player functionality, information of the playlist and the media item currently being played to other processes including the Android framework and other apps. |
| `https://developer.android.com/reference/androidx/media3/session/MediaSession.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/session/MediaSession`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaSession.ConnectionResult` | A result for `https://developer.android.com/reference/androidx/media3/session/MediaSession.Callback#onConnectAsync(androidx.media3.session.MediaSession,androidx.media3.session.MediaSession.ControllerInfo)` to denote the set of available commands and the media button preferences for a `https://developer.android.com/reference/androidx/media3/session/MediaSession.ControllerInfo`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaSession.ConnectionResult.AcceptedResultBuilder` | A builder for `https://developer.android.com/reference/androidx/media3/session/MediaSession.ConnectionResult` instances to accept a connection. |
| `https://developer.android.com/reference/androidx/media3/session/MediaSession.ControllerInfo` | Information of a `https://developer.android.com/reference/androidx/media3/session/MediaController` or a `https://developer.android.com/reference/androidx/media3/session/MediaBrowser`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaSession.MediaItemsWithStartPosition` | Representation of a list of `https://developer.android.com/reference/androidx/media3/common/MediaItem` and where to start playing. |
| `https://developer.android.com/reference/androidx/media3/session/MediaSessionManager` | Provides support for interacting with media sessions. |
| `https://developer.android.com/reference/androidx/media3/session/MediaSessionService` | Superclass to be extended by services hosting `https://developer.android.com/reference/androidx/media3/session/MediaSession`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaStyleNotificationHelper` | Class containing media specific `https://developer.android.com/reference/androidx/core/app/NotificationCompat.Style` that you can use with `https://developer.android.com/reference/androidx/core/app/NotificationCompat.Builder#setStyle(androidx.core.app.NotificationCompat.Style)`. |
| `https://developer.android.com/reference/androidx/media3/session/MediaStyleNotificationHelper.DecoratedMediaCustomViewStyle` | Notification style for media custom views that are decorated by the system. |
| `https://developer.android.com/reference/androidx/media3/session/MediaStyleNotificationHelper.MediaStyle` | Notification style for media playback notifications. |
| `https://developer.android.com/reference/androidx/media3/session/PlaybackPendingIntentBuilder` | A builder for creating a `https://developer.android.com/reference/android/app/PendingIntent.html` for a given `https://developer.android.com/reference/androidx/media3/common/Player.Command` to be sent to a `https://developer.android.com/reference/androidx/media3/session/MediaSessionService`. |
| `https://developer.android.com/reference/androidx/media3/session/SessionCommand` | A command that a `https://developer.android.com/reference/androidx/media3/session/MediaController` can send to a `https://developer.android.com/reference/androidx/media3/session/MediaSession`. |
| `https://developer.android.com/reference/androidx/media3/session/SessionCommands` | A set of `https://developer.android.com/reference/androidx/media3/session/SessionCommand`. |
| `https://developer.android.com/reference/androidx/media3/session/SessionCommands.Builder` | A builder for `https://developer.android.com/reference/androidx/media3/session/SessionCommands`. |
| `https://developer.android.com/reference/androidx/media3/session/SessionError` | Provides information about a session error. |
| `https://developer.android.com/reference/androidx/media3/session/SessionResult` | A result to be used with `https://guava.dev/releases/snapshot-android/api/docs/com/google/common/util/concurrent/ListenableFuture.html` for asynchronous calls between `https://developer.android.com/reference/androidx/media3/session/MediaSession` and `https://developer.android.com/reference/androidx/media3/session/MediaController`. |
| `https://developer.android.com/reference/androidx/media3/session/SessionToken` | A token that represents an ongoing `https://developer.android.com/reference/androidx/media3/session/MediaSession` or a service (`https://developer.android.com/reference/androidx/media3/session/MediaSessionService`, `https://developer.android.com/reference/androidx/media3/session/MediaLibraryService`, or ` androix.media.MediaBrowserServiceCompat`). |
| `https://developer.android.com/reference/androidx/media3/session/SimpleBitmapLoader` | **This class is deprecated.** Use `https://developer.android.com/reference/androidx/media3/datasource/DataSourceBitmapLoader` instead. <br /> |
| `https://developer.android.com/reference/androidx/media3/session/SizeLimitedBitmapLoader` | A `https://developer.android.com/reference/androidx/media3/common/util/BitmapLoader` that limits the size of bitmaps loaded by `https://developer.android.com/reference/androidx/media3/session/SizeLimitedBitmapLoader#decodeBitmap(byte[])` or `https://developer.android.com/reference/androidx/media3/session/SizeLimitedBitmapLoader#loadBitmap(android.net.Uri)` request. |