Skip to content

Most visited

Recently visited

navigation

MediaSession.Callback

public static abstract class MediaSession.Callback
extends Object

java.lang.Object
   ↳ android.media.session.MediaSession.Callback


Receives media buttons, transport controls, and commands from controllers and the system. A callback may be set using setCallback(MediaSession.Callback).

Summary

Public constructors

MediaSession.Callback()

Public methods

void onCommand(String command, Bundle args, ResultReceiver cb)

Called when a controller has sent a command to this session.

void onCustomAction(String action, Bundle extras)

Called when a MediaController wants a PlaybackState.CustomAction to be performed.

void onFastForward()

Override to handle requests to fast forward.

boolean onMediaButtonEvent(Intent mediaButtonIntent)

Called when a media button is pressed and this session has the highest priority or a controller sends a media button event to the session.

void onPause()

Override to handle requests to pause playback.

void onPlay()

Override to handle requests to begin playback.

void onPlayFromMediaId(String mediaId, Bundle extras)

Override to handle requests to play a specific mediaId that was provided by your app's MediaBrowserService.

void onPlayFromSearch(String query, Bundle extras)

Override to handle requests to begin playback from a search query.

void onPlayFromUri(Uri uri, Bundle extras)

Override to handle requests to play a specific media item represented by a URI.

void onPrepare()

Override to handle requests to prepare playback.

void onPrepareFromMediaId(String mediaId, Bundle extras)

Override to handle requests to prepare for playing a specific mediaId that was provided by your app's MediaBrowserService.

void onPrepareFromSearch(String query, Bundle extras)

Override to handle requests to prepare playback from a search query.

void onPrepareFromUri(Uri uri, Bundle extras)

Override to handle requests to prepare a specific media item represented by a URI.

void onRewind()

Override to handle requests to rewind.

void onSeekTo(long pos)

Override to handle requests to seek to a specific position in ms.

void onSetRating(Rating rating)

Override to handle the item being rated.

void onSkipToNext()

Override to handle requests to skip to the next media item.

void onSkipToPrevious()

Override to handle requests to skip to the previous media item.

void onSkipToQueueItem(long id)

Override to handle requests to play an item with a given id from the play queue.

void onStop()

Override to handle requests to stop playback.

Inherited methods

From class java.lang.Object

Public constructors

MediaSession.Callback

added in API level 21
MediaSession.Callback ()

Public methods

onCommand

added in API level 21
void onCommand (String command, 
                Bundle args, 
                ResultReceiver cb)

Called when a controller has sent a command to this session. The owner of the session may handle custom commands but is not required to.

Parameters
command String: The command name.

This value must never be null.

args Bundle: Optional parameters for the command, may be null.

cb ResultReceiver: A result receiver to which a result may be sent by the command, may be null.

onCustomAction

added in API level 21
void onCustomAction (String action, 
                Bundle extras)

Called when a MediaController wants a PlaybackState.CustomAction to be performed.

Parameters
action String: The action that was originally sent in the PlaybackState.CustomAction.

This value must never be null.

extras Bundle: Optional extras specified by the MediaController.

This value may be null.

onFastForward

added in API level 21
void onFastForward ()

Override to handle requests to fast forward.

onMediaButtonEvent

added in API level 21
boolean onMediaButtonEvent (Intent mediaButtonIntent)

Called when a media button is pressed and this session has the highest priority or a controller sends a media button event to the session. The default behavior will call the relevant method if the action for it was set.

The intent will be of type ACTION_MEDIA_BUTTON with a KeyEvent in EXTRA_KEY_EVENT

Parameters
mediaButtonIntent Intent: an intent containing the KeyEvent as an extra

This value must never be null.

Returns
boolean True if the event was handled, false otherwise.

onPause

added in API level 21
void onPause ()

Override to handle requests to pause playback.

onPlay

added in API level 21
void onPlay ()

Override to handle requests to begin playback.

onPlayFromMediaId

added in API level 21
void onPlayFromMediaId (String mediaId, 
                Bundle extras)

Override to handle requests to play a specific mediaId that was provided by your app's MediaBrowserService.

Parameters
mediaId String

extras Bundle

onPlayFromSearch

added in API level 21
void onPlayFromSearch (String query, 
                Bundle extras)

Override to handle requests to begin playback from a search query. An empty query indicates that the app may play any music. The implementation should attempt to make a smart choice about what to play.

Parameters
query String

extras Bundle

onPlayFromUri

added in API level 23
void onPlayFromUri (Uri uri, 
                Bundle extras)

Override to handle requests to play a specific media item represented by a URI.

Parameters
uri Uri

extras Bundle

onPrepare

added in API level 24
void onPrepare ()

Override to handle requests to prepare playback. During the preparation, a session should not hold audio focus in order to allow other sessions play seamlessly. The state of playback should be updated to STATE_PAUSED after the preparation is done.

onPrepareFromMediaId

added in API level 24
void onPrepareFromMediaId (String mediaId, 
                Bundle extras)

Override to handle requests to prepare for playing a specific mediaId that was provided by your app's MediaBrowserService. During the preparation, a session should not hold audio focus in order to allow other sessions play seamlessly. The state of playback should be updated to STATE_PAUSED after the preparation is done. The playback of the prepared content should start in the implementation of onPlay(). Override onPlayFromMediaId(String, Bundle) to handle requests for starting playback without preparation.

Parameters
mediaId String

extras Bundle

onPrepareFromSearch

added in API level 24
void onPrepareFromSearch (String query, 
                Bundle extras)

Override to handle requests to prepare playback from a search query. An empty query indicates that the app may prepare any music. The implementation should attempt to make a smart choice about what to play. During the preparation, a session should not hold audio focus in order to allow other sessions play seamlessly. The state of playback should be updated to STATE_PAUSED after the preparation is done. The playback of the prepared content should start in the implementation of onPlay(). Override onPlayFromSearch(String, Bundle) to handle requests for starting playback without preparation.

Parameters
query String

extras Bundle

onPrepareFromUri

added in API level 24
void onPrepareFromUri (Uri uri, 
                Bundle extras)

Override to handle requests to prepare a specific media item represented by a URI. During the preparation, a session should not hold audio focus in order to allow other sessions play seamlessly. The state of playback should be updated to STATE_PAUSED after the preparation is done. The playback of the prepared content should start in the implementation of onPlay(). Override onPlayFromUri(Uri, Bundle) to handle requests for starting playback without preparation.

Parameters
uri Uri

extras Bundle

onRewind

added in API level 21
void onRewind ()

Override to handle requests to rewind.

onSeekTo

added in API level 21
void onSeekTo (long pos)

Override to handle requests to seek to a specific position in ms.

Parameters
pos long: New position to move to, in milliseconds.

onSetRating

added in API level 21
void onSetRating (Rating rating)

Override to handle the item being rated.

onSkipToNext

added in API level 21
void onSkipToNext ()

Override to handle requests to skip to the next media item.

onSkipToPrevious

added in API level 21
void onSkipToPrevious ()

Override to handle requests to skip to the previous media item.

onSkipToQueueItem

added in API level 21
void onSkipToQueueItem (long id)

Override to handle requests to play an item with a given id from the play queue.

Parameters
id long

onStop

added in API level 21
void onStop ()

Override to handle requests to stop playback.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)