Most visited

Recently visited

Added in API level 19
Deprecated since API level 21

RemoteController

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 )。

Summary

Nested classes

class RemoteController.MetadataEditor

一个类,用于读取由RemoteControlClient发布的元数据,或为可编辑的键发送RemoteControlClient新值。

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()

创建一个 RemoteController.MetadataEditor用于更新当前 RemoteControlClient的可编辑键的元数据值。

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

Constants

POSITION_SYNCHRONIZATION_CHECK

Added in API level 19
int POSITION_SYNCHRONIZATION_CHECK

播放位置同步模式,其中RemoteControlClient实例将其播放位置暴露给框架,将定期轮询,以检查它们的估计位置与他们报告的位置之间是否有任何漂移。 请注意,只有在需要显示非常精确的播放位置时才会使用此模式,因为如果在远程播放的情况下此查询会触发网络事务,定期轮询RemoteControlClient的位置可能会影响电池寿命(如果适用) 。

常数值:1(0x00000001)

POSITION_SYNCHRONIZATION_NONE

Added in API level 19
int POSITION_SYNCHRONIZATION_NONE

默认播放位置同步模式,RemoteControlClient不会定期询问其播放位置,以查看它是否已从估计位置漂移。

常量值:0(0x00000000)

Public constructors

RemoteController

Added in API level 19
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

Added in API level 19
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

Public methods

clearArtworkConfiguration

Added in API level 19
boolean clearArtworkConfiguration ()

防止此RemoteController接收图稿图像。

Returns
boolean true if receiving artwork images was successfully disabled.

editMetadata

Added in API level 19
RemoteController.MetadataEditor editMetadata ()

创建一个RemoteController.MetadataEditor用于更新当前RemoteControlClient的可编辑键的元数据值。 此方法只能在已注册的RemoteController上调用。

Returns
RemoteController.MetadataEditor a new MetadataEditor instance.

getEstimatedMediaPosition

Added in API level 19
long getEstimatedMediaPosition ()

如果不可用,则返回当前媒体轨道的估计播放位置或负值。

返回的价值由当前流程估算,可能并不完美。 此方法返回的时间是根据当时播放位置和上一次已知播放速度的最后状态更改时间计算得出的。 应用程序可能会调用setSynchronizationMode(int)来应用同步策略,该策略将定期重新与RemoteControlClient同步估计的位置。

Returns
long the current estimated playback position in milliseconds or a negative value if not available

也可以看看:

seekTo

Added in API level 19
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

sendMediaKeyEvent

Added in API level 19
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

setArtworkConfiguration

Added in API level 19
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

setSynchronizationMode

Added in API level 19
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

Hooray!