public final class MediaController
extends Object
| java.lang.Object | |
| android.media.session.MediaController | |
允许应用与正在进行的媒体会话进行互动。 媒体按钮和其他命令可以发送到会话。 回调可以被注册以接收来自会话的更新,诸如元数据和播放状态改变。
将MediaController可以通过创建 MediaSessionManager ,如果你持有的“android.permission.MEDIA_CONTENT_CONTROL”权限或者是启用通知监听器或通过获取 MediaSession.Token直接从会话所有者。
MediaController对象是线程安全的。
Nested classes |
|
|---|---|
class |
MediaController.Callback 从会话接收更新的回调。 |
class |
MediaController.PlaybackInfo 保存有关当前回放的信息以及该会话的音频处理方式。 |
class |
MediaController.TransportControls 用于控制会话媒体播放的界面。 |
Public constructors |
|
|---|---|
MediaController(Context context, MediaSession.Token token) 从会话令牌创建一个新的MediaController。 |
|
继承方法(Inherited methods) |
|
|---|---|
java.lang.Object
|
|
MediaController (Context context, MediaSession.Token token)
从会话令牌创建一个新的MediaController。
| 参数(Parameters) | |
|---|---|
context |
Context: The caller's context. |
token |
MediaSession.Token: The token for the session. |
void adjustVolume (int direction,
int flags)
调整此会话正在播放的输出音量。 方向必须之一ADJUST_LOWER , ADJUST_RAISE ,或ADJUST_SAME 。 如果会话不支持VOLUME_CONTROL_RELATIVE或VOLUME_CONTROL_ABSOLUTE该命令将被忽略。 可以使用AudioManager的标志来影响处理。
| 参数(Parameters) | |
|---|---|
direction |
int: The direction to adjust the volume in. |
flags |
int: Any flags to pass with the command. |
也可以看看:
boolean dispatchMediaButtonEvent (KeyEvent keyEvent)
将指定的媒体按钮事件发送到会话。 只有媒体密钥可以通过此方法发送,其他密钥将被忽略。
| 参数(Parameters) | |
|---|---|
keyEvent |
KeyEvent: The media button event to dispatch. |
| 返回(Returns) | |
|---|---|
boolean |
true if the event was sent to the session, false otherwise. |
long getFlags ()
获取此会话的标志。 标志在MediaSession中定义。
| 返回(Returns) | |
|---|---|
long |
The current set of flags for the session. |
MediaMetadata getMetadata ()
获取此会话的当前元数据。
| 返回(Returns) | |
|---|---|
MediaMetadata |
The current MediaMetadata or null. |
String getPackageName ()
获取会话所有者的包名称。
| 返回(Returns) | |
|---|---|
String |
The package name of of the session owner. |
MediaController.PlaybackInfo getPlaybackInfo ()
获取此会话的当前播放信息。
| 返回(Returns) | |
|---|---|
MediaController.PlaybackInfo |
The current playback info or null. |
PlaybackState getPlaybackState ()
获取此会话的当前播放状态。
| 返回(Returns) | |
|---|---|
PlaybackState |
The current PlaybackState or null |
List<MediaSession.QueueItem> getQueue ()
如果设置了此会话,则获取当前的播放队列。 如果您只关心当前应该使用的项目getMetadata() 。
| 返回(Returns) | |
|---|---|
List<MediaSession.QueueItem> |
The current play queue or null. |
CharSequence getQueueTitle ()
获取此会话的队列标题。
| 返回(Returns) | |
|---|---|
CharSequence |
|
int getRatingType ()
获取会话支持的评级类型。 之一:
RATING_NONERATING_HEARTRATING_THUMB_UP_DOWNRATING_3_STARSRATING_4_STARSRATING_5_STARSRATING_PERCENTAGE| 返回(Returns) | |
|---|---|
int |
The supported rating type |
PendingIntent getSessionActivity ()
获取启动与此会话关联的用户界面(如果存在)的意图。
| 返回(Returns) | |
|---|---|
PendingIntent |
A PendingIntent to launch UI or null. |
MediaSession.Token getSessionToken ()
获取与此连接的会话的令牌。
| 返回(Returns) | |
|---|---|
MediaSession.Token |
The token for the connected session. |
MediaController.TransportControls getTransportControls ()
获取 MediaController.TransportControls实例将传输操作发送到关联的会话。
| 返回(Returns) | |
|---|---|
MediaController.TransportControls |
A transport controls instance. |
void registerCallback (MediaController.Callback callback, Handler handler)
注册回调以接收来自会话的更新。 更新将发布在指定的处理程序线程上。
| 参数(Parameters) | |
|---|---|
callback |
MediaController.Callback: The callback object, must not be null. |
handler |
Handler: The handler to post updates on. If null the callers thread will be used. |
void registerCallback (MediaController.Callback callback)
注册回调以接收来自会话的更新。 更新将发布在调用者的线程上。
| 参数(Parameters) | |
|---|---|
callback |
MediaController.Callback: The callback object, must not be null. |
void sendCommand (String command, Bundle args, ResultReceiver cb)
向会话发送通用命令。 会话创建者决定他们将支持哪些命令和参数。 因此,命令只能发送给控制器拥有的会话。
| 参数(Parameters) | |
|---|---|
command |
String: The command to send |
args |
Bundle: Any parameters to include with the command |
cb |
ResultReceiver: The callback to receive the result on |
void setVolumeTo (int value,
int flags)
设置此会话正在播放的输出音量。 如果该命令不支持VOLUME_CONTROL_ABSOLUTE该命令将被忽略。 可以使用AudioManager的标志来影响处理。
| 参数(Parameters) | |
|---|---|
value |
int: The value to set it to, between 0 and the reported max. |
flags |
int: Flags from AudioManager to include with the volume request. |
也可以看看:
void unregisterCallback (MediaController.Callback callback)
取消注册指定的回调。 如果更新已发布,您可能仍会在调用此方法后收到它。
| 参数(Parameters) | |
|---|---|
callback |
MediaController.Callback: The callback to remove. |