public final class RemoteController
extends Object
java.lang.Object | |
↳ | android.media.RemoteController |
该类在API级别21中已被弃用。
改为使用MediaController
。
RemoteController类用于控制媒体播放,显示和更新由应用程序使用 RemoteControlClient
类发布的媒体元数据和播放状态。
应通过registerRemoteController(RemoteController)
注册RemoteController,以便系统将媒体事件更新发送到类构造函数中设置的RemoteController.OnClientUpdateListener
侦听器。 实现接口的方法来接收活动的RemoteControlClient
实例发布的信息。
默认情况下, RemoteController.OnClientUpdateListener
实现不会接收专辑封面的位图。 使用setArtworkConfiguration(int, int)
可以接收图像。
注册要求 RemoteController.OnClientUpdateListener
侦听器成为启用的通知侦听器之一(请参阅 NotificationListenerService
)。
Nested classes |
|
---|---|
class |
RemoteController.MetadataEditor 一个类,用于读取由 |
interface |
RemoteController.OnClientUpdateListener 只要媒体事件,元数据和播放状态可用,就会调用回调的接口定义。 |
Constants |
|
---|---|
int |
POSITION_SYNCHRONIZATION_CHECK 播放位置同步模式,其中RemoteControlClient实例将其播放位置暴露给框架,将定期轮询,以检查它们的估计位置与他们报告的位置之间是否有任何漂移。 |
int |
POSITION_SYNCHRONIZATION_NONE 默认播放位置同步模式,RemoteControlClient不会定期询问其播放位置,以查看它是否已从估计位置漂移。 |
Public constructors |
|
---|---|
RemoteController(Context context, RemoteController.OnClientUpdateListener updateListener) 类构造函数。 |
|
RemoteController(Context context, RemoteController.OnClientUpdateListener updateListener, Looper looper) 类构造函数。 |
Public methods |
|
---|---|
boolean |
clearArtworkConfiguration() 防止此RemoteController接收图稿图像。 |
RemoteController.MetadataEditor |
editMetadata() 创建一个 |
long |
getEstimatedMediaPosition() 如果不可用,则返回当前媒体轨道的估计播放位置或负值。 |
boolean |
seekTo(long timeMs) 设置新的播放位置。 |
boolean |
sendMediaKeyEvent(KeyEvent keyEvent) 发送媒体按钮的模拟按键事件以由当前客户端接收。 |
boolean |
setArtworkConfiguration(int width, int height) 设置要在元数据中接收的最大作品图片尺寸。 |
boolean |
setSynchronizationMode(int sync) 设置播放位置同步模式。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
int POSITION_SYNCHRONIZATION_CHECK
播放位置同步模式,其中RemoteControlClient实例将其播放位置暴露给框架,将定期轮询,以检查它们的估计位置与他们报告的位置之间是否有任何漂移。 请注意,只有在需要显示非常精确的播放位置时才会使用此模式,因为如果在远程播放的情况下此查询会触发网络事务,定期轮询RemoteControlClient的位置可能会影响电池寿命(如果适用) 。
常数值:1(0x00000001)
int POSITION_SYNCHRONIZATION_NONE
默认播放位置同步模式,RemoteControlClient不会定期询问其播放位置,以查看它是否已从估计位置漂移。
常量值:0(0x00000000)
RemoteController (Context context, RemoteController.OnClientUpdateListener updateListener)
类构造函数。
Parameters | |
---|---|
context |
Context : the Context , must be non-null. |
updateListener |
RemoteController.OnClientUpdateListener : the listener to be called whenever new client information is available, must be non-null. |
Throws | |
---|---|
IllegalArgumentException |
RemoteController (Context context, RemoteController.OnClientUpdateListener updateListener, Looper looper)
类构造函数。
Parameters | |
---|---|
context |
Context : the Context , must be non-null. |
updateListener |
RemoteController.OnClientUpdateListener : the listener to be called whenever new client information is available, must be non-null. |
looper |
Looper : the Looper on which to run the event loop, or null to use the current thread's looper. |
Throws | |
---|---|
IllegalArgumentException |
boolean clearArtworkConfiguration ()
防止此RemoteController接收图稿图像。
Returns | |
---|---|
boolean |
true if receiving artwork images was successfully disabled. |
RemoteController.MetadataEditor editMetadata ()
创建一个RemoteController.MetadataEditor
用于更新当前RemoteControlClient
的可编辑键的元数据值。 此方法只能在已注册的RemoteController上调用。
Returns | |
---|---|
RemoteController.MetadataEditor |
a new MetadataEditor instance. |
long getEstimatedMediaPosition ()
如果不可用,则返回当前媒体轨道的估计播放位置或负值。
返回的价值由当前流程估算,可能并不完美。 此方法返回的时间是根据当时播放位置和上一次已知播放速度的最后状态更改时间计算得出的。 应用程序可能会调用setSynchronizationMode(int)
来应用同步策略,该策略将定期重新与RemoteControlClient同步估计的位置。
Returns | |
---|---|
long |
the current estimated playback position in milliseconds or a negative value if not available |
boolean seekTo (long timeMs)
设置新的播放位置。 此方法只能在已注册的RemoteController上调用。
Parameters | |
---|---|
timeMs |
long : a 0 or positive value for the new playback position, expressed in ms. |
Returns | |
---|---|
boolean |
true if the command to set the playback position was successfully sent. |
Throws | |
---|---|
IllegalArgumentException |
boolean sendMediaKeyEvent (KeyEvent keyEvent)
发送媒体按钮的模拟按键事件以由当前客户端接收。 为了模拟一个按键,你必须首先发送带有内置的KeyEvent ACTION_DOWN
动作,然后用另一个事件ACTION_UP
行动。
关键事件将被发送到已注册的接收者(请参阅 registerMediaButtonEventReceiver(PendingIntent)
),其关联的 RemoteControlClient
的元数据和播放状态已发布(在某些情况下可能没有)。
Parameters | |
---|---|
keyEvent |
KeyEvent : a KeyEvent instance whose key code is one of KEYCODE_MUTE , KEYCODE_HEADSETHOOK , KEYCODE_MEDIA_PLAY , KEYCODE_MEDIA_PAUSE , KEYCODE_MEDIA_PLAY_PAUSE , KEYCODE_MEDIA_STOP , KEYCODE_MEDIA_NEXT , KEYCODE_MEDIA_PREVIOUS , KEYCODE_MEDIA_REWIND , KEYCODE_MEDIA_RECORD , KEYCODE_MEDIA_FAST_FORWARD , KEYCODE_MEDIA_CLOSE , KEYCODE_MEDIA_EJECT , or KEYCODE_MEDIA_AUDIO_TRACK . |
Returns | |
---|---|
boolean |
true if the event was successfully sent, false otherwise. |
Throws | |
---|---|
IllegalArgumentException |
boolean setArtworkConfiguration (int width, int height)
设置要在元数据中接收的最大作品图片尺寸。 除非已经指定,否则不会接收位图。
Parameters | |
---|---|
width |
int : the maximum width in pixels |
height |
int : the maximum height in pixels |
Returns | |
---|---|
boolean |
true if the artwork dimension was successfully set. |
Throws | |
---|---|
IllegalArgumentException |
boolean setSynchronizationMode (int sync)
设置播放位置同步模式。 必须在注册的RemoteController上调用。
Parameters | |
---|---|
sync |
int : POSITION_SYNCHRONIZATION_NONE or POSITION_SYNCHRONIZATION_CHECK |
Returns | |
---|---|
boolean |
true if the synchronization mode was successfully set. |
Throws | |
---|---|
IllegalArgumentException |