# android.media.session

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

# android.media.session

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/media/session/package-summary "View this page in Kotlin")\|Java

## Interfaces

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [MediaSessionManager.OnActiveSessionsChangedListener](https://developer.android.com/reference/android/media/session/MediaSessionManager.OnActiveSessionsChangedListener)             | Listens for changes to the list of active sessions.                                                                                                                         |
| [MediaSessionManager.OnMediaKeyEventSessionChangedListener](https://developer.android.com/reference/android/media/session/MediaSessionManager.OnMediaKeyEventSessionChangedListener) | Listener to receive changes in the media key event session, which would receive a media key event unless specified.                                                         |
| [MediaSessionManager.OnSession2TokensChangedListener](https://developer.android.com/reference/android/media/session/MediaSessionManager.OnSession2TokensChangedListener)             | Listens for changes to the[MediaSessionManager.getSession2Tokens()](https://developer.android.com/reference/android/media/session/MediaSessionManager#getSession2Tokens()). |

## Classes

|----------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [MediaController](https://developer.android.com/reference/android/media/session/MediaController)                                       | Allows an app to interact with an ongoing media session.                                                                                                                                                                                                                                                                 |
| [MediaController.Callback](https://developer.android.com/reference/android/media/session/MediaController.Callback)                     | Callback for receiving updates from the session.                                                                                                                                                                                                                                                                         |
| [MediaController.PlaybackInfo](https://developer.android.com/reference/android/media/session/MediaController.PlaybackInfo)             | Holds information about the current playback and how audio is handled for this session.                                                                                                                                                                                                                                  |
| [MediaController.TransportControls](https://developer.android.com/reference/android/media/session/MediaController.TransportControls)   | Interface for controlling media playback on a session.                                                                                                                                                                                                                                                                   |
| [MediaSession](https://developer.android.com/reference/android/media/session/MediaSession)                                             | Allows interaction with media controllers, volume keys, media buttons, and transport controls.                                                                                                                                                                                                                           |
| [MediaSession.Callback](https://developer.android.com/reference/android/media/session/MediaSession.Callback)                           | Receives media buttons, transport controls, and commands from controllers and the system.                                                                                                                                                                                                                                |
| [MediaSession.QueueItem](https://developer.android.com/reference/android/media/session/MediaSession.QueueItem)                         | A single item that is part of the play queue.                                                                                                                                                                                                                                                                            |
| [MediaSession.Token](https://developer.android.com/reference/android/media/session/MediaSession.Token)                                 | Represents an ongoing session.                                                                                                                                                                                                                                                                                           |
| [MediaSessionManager](https://developer.android.com/reference/android/media/session/MediaSessionManager)                               | Provides support for interacting with[media sessions](https://developer.android.com/reference/android/media/session/MediaSession)that applications have published to express their ongoing media playback state.                                                                                                         |
| [MediaSessionManager.RemoteUserInfo](https://developer.android.com/reference/android/media/session/MediaSessionManager.RemoteUserInfo) | Information of a remote user of[MediaSession](https://developer.android.com/reference/android/media/session/MediaSession)or[MediaBrowserService](https://developer.android.com/reference/android/service/media/MediaBrowserService).                                                                                     |
| [PlaybackState](https://developer.android.com/reference/android/media/session/PlaybackState)                                           | Playback state for a[MediaSession](https://developer.android.com/reference/android/media/session/MediaSession).                                                                                                                                                                                                          |
| [PlaybackState.Builder](https://developer.android.com/reference/android/media/session/PlaybackState.Builder)                           | Builder for[PlaybackState](https://developer.android.com/reference/android/media/session/PlaybackState)objects.                                                                                                                                                                                                          |
| [PlaybackState.CustomAction](https://developer.android.com/reference/android/media/session/PlaybackState.CustomAction)                 | [CustomActions](https://developer.android.com/reference/android/media/session/PlaybackState.CustomAction)can be used to extend the capabilities of the standard transport controls by exposing app specific actions to[MediaControllers](https://developer.android.com/reference/android/media/session/MediaController). |
| [PlaybackState.CustomAction.Builder](https://developer.android.com/reference/android/media/session/PlaybackState.CustomAction.Builder) | Builder for[CustomAction](https://developer.android.com/reference/android/media/session/PlaybackState.CustomAction)objects.                                                                                                                                                                                              |

-

  ## Interfaces

  - [MediaSessionManager.OnActiveSessionsChangedListener](https://developer.android.com/reference/android/media/session/MediaSessionManager.OnActiveSessionsChangedListener)
  - [MediaSessionManager.OnMediaKeyEventSessionChangedListener](https://developer.android.com/reference/android/media/session/MediaSessionManager.OnMediaKeyEventSessionChangedListener)
  - [MediaSessionManager.OnSession2TokensChangedListener](https://developer.android.com/reference/android/media/session/MediaSessionManager.OnSession2TokensChangedListener)
-

  ## Classes

  - [MediaController](https://developer.android.com/reference/android/media/session/MediaController)
  - [MediaController.Callback](https://developer.android.com/reference/android/media/session/MediaController.Callback)
  - [MediaController.PlaybackInfo](https://developer.android.com/reference/android/media/session/MediaController.PlaybackInfo)
  - [MediaController.TransportControls](https://developer.android.com/reference/android/media/session/MediaController.TransportControls)
  - [MediaSession](https://developer.android.com/reference/android/media/session/MediaSession)
  - [MediaSession.Callback](https://developer.android.com/reference/android/media/session/MediaSession.Callback)
  - [MediaSession.QueueItem](https://developer.android.com/reference/android/media/session/MediaSession.QueueItem)
  - [MediaSession.Token](https://developer.android.com/reference/android/media/session/MediaSession.Token)
  - [MediaSessionManager](https://developer.android.com/reference/android/media/session/MediaSessionManager)
  - [MediaSessionManager.RemoteUserInfo](https://developer.android.com/reference/android/media/session/MediaSessionManager.RemoteUserInfo)
  - [PlaybackState](https://developer.android.com/reference/android/media/session/PlaybackState)
  - [PlaybackState.Builder](https://developer.android.com/reference/android/media/session/PlaybackState.Builder)
  - [PlaybackState.CustomAction](https://developer.android.com/reference/android/media/session/PlaybackState.CustomAction)
  - [PlaybackState.CustomAction.Builder](https://developer.android.com/reference/android/media/session/PlaybackState.CustomAction.Builder)