Added in API level 21

android.media.session

Interfaces

MediaSessionManager.OnActiveSessionsChangedListener Listens for changes to the list of active sessions. 
MediaSessionManager.OnMediaKeyEventSessionChangedListener Listener to receive changes in the media key event session, which would receive a media key event unless specified. 
MediaSessionManager.OnSession2TokensChangedListener This API is not generally intended for third party application developers. 

Classes

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