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 MediaSession.setCallback(Callback)
.
Summary
Public constructors | |
---|---|
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 |
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 |
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 |
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
|
onSetPlaybackSpeed(float speed)
Override to handle the playback speed change. |
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 | |
---|---|
Public constructors
Public methods
onCommand
public 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 cannot 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
public 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 cannot be null . |
extras |
Bundle : Optional extras specified by the MediaController .
This value may be null . |
onFastForward
public void onFastForward ()
Override to handle requests to fast forward.
onMediaButtonEvent
public 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 Intent#ACTION_MEDIA_BUTTON
with a
KeyEvent in Intent#EXTRA_KEY_EVENT
Parameters | |
---|---|
mediaButtonIntent |
Intent : an intent containing the KeyEvent as an
extra
This value cannot be null . |
Returns | |
---|---|
boolean |
True if the event was handled, false otherwise. |
onPlayFromMediaId
public 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
public 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
public 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
public 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 PlaybackState#STATE_PAUSED
after the preparation is
done.
onPrepareFromMediaId
public 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 PlaybackState#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
public 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 PlaybackState#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
public 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
PlaybackState#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 |
onSeekTo
public 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. |
onSetPlaybackSpeed
public void onSetPlaybackSpeed (float speed)
Override to handle the playback speed change.
To update the new playback speed, create a new PlaybackState
by using PlaybackState.Builder.setState(int, long, float)
, and set it with
MediaSession.setPlaybackState(android.media.session.PlaybackState)
.
A value of 1.0f
is the default playback value, and a negative value indicates
reverse playback. The speed
will not be equal to zero.
Parameters | |
---|---|
speed |
float : the playback speed |
onSetRating
public void onSetRating (Rating rating)
Override to handle the item being rated.
Parameters | |
---|---|
rating |
Rating : This value cannot be null . |
onSkipToNext
public void onSkipToNext ()
Override to handle requests to skip to the next media item.
onSkipToPrevious
public void onSkipToPrevious ()
Override to handle requests to skip to the previous media item.
onSkipToQueueItem
public void onSkipToQueueItem (long id)
Override to handle requests to play an item with a given id from the play queue.
Parameters | |
---|---|
id |
long |