Android APIs
Added in API level 21


MediaSessionManager.OnActiveSessionsChangedListener Listens for changes to the list of active sessions. 


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. 
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 PlaybackState.CustomAction objects.