Most visited

Recently visited

Added in API level 21

MediaController

public final class MediaController
extends Object

java.lang.Object
    android.media.session.MediaController


允许应用与正在进行的媒体会话进行互动。 媒体按钮和其他命令可以发送到会话。 回调可以被注册以接收来自会话的更新,诸如元数据和播放状态改变。

将MediaController可以通过创建 MediaSessionManager ,如果你持有的“android.permission.MEDIA_CONTENT_CONTROL”权限或者是启用通知监听器或通过获取 MediaSession.Token直接从会话所有者。

MediaController对象是线程安全的。

摘要(Summary)

Nested classes

class MediaController.Callback

从会话接收更新的回调。

class MediaController.PlaybackInfo

保存有关当前回放的信息以及该会话的音频处理方式。

class MediaController.TransportControls

用于控制会话媒体播放的界面。

Public constructors

MediaController(Context context, MediaSession.Token token)

从会话令牌创建一个新的MediaController。

公共方法(Public methods)

void adjustVolume(int direction, int flags)

调整此会话正在播放的输出音量。

boolean dispatchMediaButtonEvent(KeyEvent keyEvent)

将指定的媒体按钮事件发送到会话。

Bundle getExtras()

获得本次会议的额外资讯。

long getFlags()

获取此会话的标志。

MediaMetadata getMetadata()

获取此会话的当前元数据。

String getPackageName()

获取会话所有者的包名称。

MediaController.PlaybackInfo getPlaybackInfo()

获取此会话的当前播放信息。

PlaybackState getPlaybackState()

获取此会话的当前播放状态。

List<MediaSession.QueueItem> getQueue()

如果设置了此会话,则获取当前的播放队列。

CharSequence getQueueTitle()

获取此会话的队列标题。

int getRatingType()

获取会话支持的评级类型。

PendingIntent getSessionActivity()

获取启动与此会话关联的用户界面(如果存在)的意图。

MediaSession.Token getSessionToken()

获取与此连接的会话的令牌。

MediaController.TransportControls getTransportControls()

获取 MediaController.TransportControls实例以将传输操作发送到关联的会话。

void registerCallback(MediaController.Callback callback, Handler handler)

注册回调以接收来自会话的更新。

void registerCallback(MediaController.Callback callback)

注册回调以接收来自会话的更新。

void sendCommand(String command, Bundle args, ResultReceiver cb)

向会话发送通用命令。

void setVolumeTo(int value, int flags)

设置此会话正在播放的输出音量。

void unregisterCallback(MediaController.Callback callback)

取消注册指定的回调。

继承方法(Inherited methods)

From class java.lang.Object

Public constructors

MediaController

Added in API level 21
MediaController (Context context, 
                MediaSession.Token token)

从会话令牌创建一个新的MediaController。

参数(Parameters)
context Context: The caller's context.
token MediaSession.Token: The token for the session.

公共方法(Public methods)

adjustVolume

Added in API level 21
void adjustVolume (int direction, 
                int flags)

调整此会话正在播放的输出音量。 方向必须之一ADJUST_LOWERADJUST_RAISE ,或ADJUST_SAME 如果会话不支持VOLUME_CONTROL_RELATIVEVOLUME_CONTROL_ABSOLUTE该命令将被忽略。 可以使用AudioManager的标志来影响处理。

参数(Parameters)
direction int: The direction to adjust the volume in.
flags int: Any flags to pass with the command.

也可以看看:

dispatchMediaButtonEvent

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

getExtras

Added in API level 21
Bundle getExtras ()

获得本次会议的额外资讯。

返回(Returns)
Bundle

getFlags

Added in API level 21
long getFlags ()

获取此会话的标志。 标志在MediaSession中定义。

返回(Returns)
long The current set of flags for the session.

getMetadata

Added in API level 21
MediaMetadata getMetadata ()

获取此会话的当前元数据。

返回(Returns)
MediaMetadata The current MediaMetadata or null.

getPackageName

Added in API level 21
String getPackageName ()

获取会话所有者的包名称。

返回(Returns)
String The package name of of the session owner.

getPlaybackInfo

Added in API level 21
MediaController.PlaybackInfo getPlaybackInfo ()

获取此会话的当前播放信息。

返回(Returns)
MediaController.PlaybackInfo The current playback info or null.

getPlaybackState

Added in API level 21
PlaybackState getPlaybackState ()

获取此会话的当前播放状态。

返回(Returns)
PlaybackState The current PlaybackState or null

getQueue

Added in API level 21
List<MediaSession.QueueItem> getQueue ()

如果设置了此会话,则获取当前的播放队列。 如果您只关心当前应该使用的项目getMetadata()

返回(Returns)
List<MediaSession.QueueItem> The current play queue or null.

getQueueTitle

Added in API level 21
CharSequence getQueueTitle ()

获取此会话的队列标题。

返回(Returns)
CharSequence

getRatingType

Added in API level 21
int getRatingType ()

获取会话支持的评级类型。 之一:

返回(Returns)
int The supported rating type

getSessionActivity

Added in API level 21
PendingIntent getSessionActivity ()

获取启动与此会话关联的用户界面(如果存在)的意图。

返回(Returns)
PendingIntent A PendingIntent to launch UI or null.

getSessionToken

Added in API level 21
MediaSession.Token getSessionToken ()

获取与此连接的会话的令牌。

返回(Returns)
MediaSession.Token The token for the connected session.

getTransportControls

Added in API level 21
MediaController.TransportControls getTransportControls ()

获取 MediaController.TransportControls实例将传输操作发送到关联的会话。

返回(Returns)
MediaController.TransportControls A transport controls instance.

registerCallback

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

registerCallback

Added in API level 21
void registerCallback (MediaController.Callback callback)

注册回调以接收来自会话的更新。 更新将发布在调用者的线程上。

参数(Parameters)
callback MediaController.Callback: The callback object, must not be null.

sendCommand

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

setVolumeTo

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

也可以看看:

unregisterCallback

Added in API level 21
void unregisterCallback (MediaController.Callback callback)

取消注册指定的回调。 如果更新已发布,您可能仍会在调用此方法后收到它。

参数(Parameters)
callback MediaController.Callback: The callback to remove.

Hooray!