public abstract class TransportPerformer
extends Object
java.lang.Object | |
↳ | android.support.v4.media.TransportPerformer |
由媒体系统的回放侧实现,以响应请求以执行动作并检索其当前状态。 这些请求可能来自直接发送到您的用户界面的关键事件,也可能来自通过媒体按钮事件接收器发送的事件,该类在窗口焦点时保持活动状态。
Public constructors |
|
---|---|
TransportPerformer() |
Public methods |
|
---|---|
void |
onAudioFocusChange(int focusChange) 报告音频焦点已在应用程序中发生变化。 |
int |
onGetBufferPercentage() 请求了解多少媒体已在本地设备上缓冲。 |
abstract long |
onGetCurrentPosition() 请求返回当前播放位置,以毫秒为单位。 |
abstract long |
onGetDuration() 请求返回当前媒体的持续时间,以毫秒为单位。 |
int |
onGetTransportControlFlags() 检索此传输支持的媒体传输控制按钮的标志。 |
abstract boolean |
onIsPlaying() 请求确定玩家是否正在播放其媒体。 |
boolean |
onMediaButtonDown(int keyCode, KeyEvent event) 报告媒体按钮已被按下。 |
boolean |
onMediaButtonUp(int keyCode, KeyEvent event) 报告媒体按钮已被释放。 |
abstract void |
onPause() 请求暂停播放媒体,停留在当前播放位置和其他状态,以便稍后再次拨打 |
abstract void |
onSeekTo(long pos) 请求移动当前播放位置。 |
abstract void |
onStart() 请求在媒体上开始播放,从当前状态(位置等)恢复。 |
abstract void |
onStop() 请求完全停止播放媒体,清除玩家认为合适的状态。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
TransportPerformer ()
void onAudioFocusChange (int focusChange)
报告音频焦点已在应用程序中发生变化。 只有在您已经表明您已开始使用TransportController.startPlaying
才会发生这种情况,这会为您带来音频焦点。
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 ()
请求了解多少媒体已在本地设备上缓冲。
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 ()
请求返回当前播放位置,以毫秒为单位。
Returns | |
---|---|
long |
long onGetDuration ()
请求返回当前媒体的持续时间,以毫秒为单位。
Returns | |
---|---|
long |
int onGetTransportControlFlags ()
检索此传输支持的媒体传输控制按钮的标志。 结果是下列标志的组合: 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
默认实现返回: FLAG_KEY_MEDIA_PLAY
, FLAG_KEY_MEDIA_PLAY_PAUSE
, FLAG_KEY_MEDIA_PAUSE
,并 FLAG_KEY_MEDIA_STOP
Returns | |
---|---|
int |
boolean onIsPlaying ()
请求确定玩家是否正在播放其媒体。
Returns | |
---|---|
boolean |
boolean onMediaButtonDown (int keyCode, KeyEvent event)
报告媒体按钮已被按下。 这就像onKeyDown(int, android.view.KeyEvent)
但只会提供媒体密钥。 默认实现处理这些键:
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)
报告媒体按钮已被释放。 这就像onKeyUp(int, android.view.KeyEvent)
但只会提供媒体密钥。 默认实现什么都不做。
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 onSeekTo (long pos)
请求移动当前播放位置。
Parameters | |
---|---|
pos |
long : New position to move to, in milliseconds. |
void onStart ()
请求在媒体上开始播放,从当前状态(位置等)恢复。
void onStop ()
请求完全停止播放媒体,清除玩家认为合适的状态。