public abstract class TransportPerformer extends Object
Constructor and Description |
---|
TransportPerformer() |
Modifier and Type | Method and Description |
---|---|
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
onStart() will resume at the same place. |
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.
|
public abstract void onStart()
public abstract void onPause()
onStart()
will resume at the same place.public abstract void onStop()
public abstract long onGetDuration()
public abstract long onGetCurrentPosition()
public abstract void onSeekTo(long pos)
pos
- New position to move to, in milliseconds.public abstract boolean onIsPlaying()
public int onGetBufferPercentage()
public int onGetTransportControlFlags()
TransportMediator.FLAG_KEY_MEDIA_PREVIOUS
,
TransportMediator.FLAG_KEY_MEDIA_REWIND
,
TransportMediator.FLAG_KEY_MEDIA_PLAY
,
TransportMediator.FLAG_KEY_MEDIA_PLAY_PAUSE
,
TransportMediator.FLAG_KEY_MEDIA_PAUSE
,
TransportMediator.FLAG_KEY_MEDIA_STOP
,
TransportMediator.FLAG_KEY_MEDIA_FAST_FORWARD
,
TransportMediator.FLAG_KEY_MEDIA_NEXT
The default implementation returns:
TransportMediator.FLAG_KEY_MEDIA_PLAY
,
TransportMediator.FLAG_KEY_MEDIA_PLAY_PAUSE
,
TransportMediator.FLAG_KEY_MEDIA_PAUSE
, and
TransportMediator.FLAG_KEY_MEDIA_STOP
public boolean onMediaButtonDown(int keyCode, KeyEvent event)
KeyEvent.Callback.onKeyDown(int, android.view.KeyEvent)
but
will only deliver media keys. The default implementation handles these keys:
keyCode
- The code of the media key.event
- The full key event.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).public boolean onMediaButtonUp(int keyCode, KeyEvent event)
KeyEvent.Callback#onKeyUp(int, android.view.KeyEvent)
but
will only deliver media keys. The default implementation does nothing.keyCode
- The code of the media key.event
- The full key event.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).public void onAudioFocusChange(int focusChange)
TransportController.startPlaying
,
which takes audio focus for you.focusChange
- The type of focus change, as per
OnAudioFocusChangeListener.onAudioFocusChange
. The default implementation will
deliver a KeyEvent.KEYCODE_MEDIA_STOP
when receiving AudioManager.AUDIOFOCUS_LOSS
.