public
abstract
class
TransportPerformer
extends Object
java.lang.Object | |
↳ | android.support.v4.media.TransportPerformer |
Implemented by the playback side of the media system, to respond to requests to perform actions and to retrieve its current state. These requests may either come from key events dispatched directly to your UI, or events sent over a media button event receiver that this class keeps active while your window is in focus.
Public constructors | |
---|---|
TransportPerformer()
|
Public methods | |
---|---|
void
|
onAudioFocusChange(int focusChange)
Report that audio focus has changed on the app. |
int
|
onGetBufferPercentage()
Request to find out how much of the media has been buffered on the local device. |
abstract
long
|
onGetCurrentPosition()
Request to return the current playback position, in milliseconds. |
abstract
long
|
onGetDuration()
Request to return the duration of the current media, in milliseconds. |
int
|
onGetTransportControlFlags()
Retrieves the flags for the media transport control buttons that this transport supports. |
abstract
boolean
|
onIsPlaying()
Request to find out whether the player is currently playing its media. |
boolean
|
onMediaButtonDown(int keyCode, KeyEvent event)
Report that a media button has been pressed. |
boolean
|
onMediaButtonUp(int keyCode, KeyEvent event)
Report that a media button has been released. |
abstract
void
|
onPause()
Request to pause playback of the media, staying at the current playback position
and other state so a later call to |
abstract
void
|
onSeekTo(long pos)
Request to move the current playback position. |
abstract
void
|
onStart()
Request to start playback on the media, resuming from whatever current state (position etc) it is in. |
abstract
void
|
onStop()
Request to completely stop playback of the media, clearing whatever state the player thinks is appropriate. |
Inherited methods | |
---|---|
From
class
java.lang.Object
|
TransportPerformer ()
void onAudioFocusChange (int focusChange)
Report that audio focus has changed on the app. This only happens if
you have indicated you have started playing with
TransportController.startPlaying
,
which takes audio focus for you.
Parameters | |
---|---|
focusChange |
int :
The type of focus change, as per
OnAudioFocusChangeListener.onAudioFocusChange . The default implementation will
deliver a KEYCODE_MEDIA_STOP
when receiving AUDIOFOCUS_LOSS .
|
int onGetBufferPercentage ()
Request to find out how much of the media has been buffered on the local device.
Returns | |
---|---|
int |
Return a percentage (0-100) indicating how much of the total data has been buffered. The default implementation returns 100, meaning the content is always on the local device. |
long onGetCurrentPosition ()
Request to return the current playback position, in milliseconds.
Returns | |
---|---|
long |
long onGetDuration ()
Request to return the duration of the current media, in milliseconds.
Returns | |
---|---|
long |
int onGetTransportControlFlags ()
Retrieves the flags for the media transport control buttons that this transport supports.
Result is a combination of the following flags:
FLAG_KEY_MEDIA_PREVIOUS
,
FLAG_KEY_MEDIA_REWIND
,
FLAG_KEY_MEDIA_PLAY
,
FLAG_KEY_MEDIA_PLAY_PAUSE
,
FLAG_KEY_MEDIA_PAUSE
,
FLAG_KEY_MEDIA_STOP
,
FLAG_KEY_MEDIA_FAST_FORWARD
,
FLAG_KEY_MEDIA_NEXT
The default implementation returns:
FLAG_KEY_MEDIA_PLAY
,
FLAG_KEY_MEDIA_PLAY_PAUSE
,
FLAG_KEY_MEDIA_PAUSE
, and
FLAG_KEY_MEDIA_STOP
Returns | |
---|---|
int |
boolean onIsPlaying ()
Request to find out whether the player is currently playing its media.
Returns | |
---|---|
boolean |
boolean onMediaButtonDown (int keyCode, KeyEvent event)
Report that a media button has been pressed. This is like
onKeyDown(int, android.view.KeyEvent)
but
will only deliver media keys. The default implementation handles these keys:
onStart()
onPause()
onStop()
onPause()
if onIsPlaying()
returns true, otherwise call onStart()
Parameters | |
---|---|
keyCode |
int :
The code of the media key. |
event |
KeyEvent :
The full key event. |
Returns | |
---|---|
boolean |
Indicate whether the key has been consumed. The default
implementation always returns true. This only matters for keys
being dispatched here from
TransportController.dispatchKeyEvent , and determines whether the key
continues on to its default key handling (which for media keys means
being delivered to the current media remote control, which should
be us).
|
boolean onMediaButtonUp (int keyCode, KeyEvent event)
Report that a media button has been released. This is like
onKeyUp(int, android.view.KeyEvent)
but
will only deliver media keys. The default implementation does nothing.
Parameters | |
---|---|
keyCode |
int :
The code of the media key. |
event |
KeyEvent :
The full key event. |
Returns | |
---|---|
boolean |
Indicate whether the key has been consumed. The default
implementation always returns true. This only matters for keys
being dispatched here from
TransportController.dispatchKeyEvent , and determines whether the key
continues on to its default key handling (which for media keys means
being delivered to the current media remote control, which should
be us).
|
void onPause ()
Request to pause playback of the media, staying at the current playback position
and other state so a later call to onStart()
will resume at the same place.
void onSeekTo (long pos)
Request to move the current playback position.
Parameters | |
---|---|
pos |
long :
New position to move to, in milliseconds.
|
void onStart ()
Request to start playback on the media, resuming from whatever current state (position etc) it is in.
void onStop ()
Request to completely stop playback of the media, clearing whatever state the player thinks is appropriate.