Most visited

Recently visited

MediaControllerCompat

public final class MediaControllerCompat
extends Object

java.lang.Object
   ↳ android.support.v4.media.session.MediaControllerCompat


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

如果您拥有来自会话所有者的 MediaSessionCompat.Token ,则可以创建MediaController。

MediaController对象是线程安全的。

这是帮助您以向后兼容的方式访问API级别4之后引入的 MediaSession功能。

Summary

Nested classes

class MediaControllerCompat.Callback

从会话接收更新的回调。

class MediaControllerCompat.PlaybackInfo

掌握有关此会话的卷处理方式的信息。

class MediaControllerCompat.TransportControls

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

Public constructors

MediaControllerCompat(Context context, MediaSessionCompat session)

从会话创建媒体控制器。

MediaControllerCompat(Context context, MediaSessionCompat.Token sessionToken)

从可能从其他进程获取的会话令牌创建媒体控制器。

Public methods

void adjustVolume(int direction, int flags)

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

boolean dispatchMediaButtonEvent(KeyEvent keyEvent)

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

Bundle getExtras()

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

long getFlags()

获取此会话的标志。

Object getMediaController()

获取底层框架 MediaController对象。

MediaMetadataCompat getMetadata()

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

String getPackageName()

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

MediaControllerCompat.PlaybackInfo getPlaybackInfo()

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

PlaybackStateCompat getPlaybackState()

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

List<MediaSessionCompat.QueueItem> getQueue()

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

CharSequence getQueueTitle()

获取此会话的队列标题。

int getRatingType()

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

PendingIntent getSessionActivity()

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

MediaSessionCompat.Token getSessionToken()

获取此控制器连接到的会话的令牌。

MediaControllerCompat.TransportControls getTransportControls()

获取此会话的 MediaControllerCompat.TransportControls实例。

void registerCallback(MediaControllerCompat.Callback callback, Handler handler)

添加一个回调以接收来自会话的更新。

void registerCallback(MediaControllerCompat.Callback callback)

添加回调以接收来自会话的更新。

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

向会话发送通用命令。

void setVolumeTo(int value, int flags)

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

void unregisterCallback(MediaControllerCompat.Callback callback)

停止接收指定回调的更新。

Inherited methods

From class java.lang.Object

Public constructors

MediaControllerCompat

MediaControllerCompat (Context context, 
                MediaSessionCompat session)

从会话创建媒体控制器。

Parameters
context Context
session MediaSessionCompat: The session to be controlled.

MediaControllerCompat

MediaControllerCompat (Context context, 
                MediaSessionCompat.Token sessionToken)

从可能从其他进程获取的会话令牌创建媒体控制器。

Parameters
context Context
sessionToken MediaSessionCompat.Token: The token of the session to be controlled.
Throws
RemoteException if the session is not accessible.

Public methods

adjustVolume

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

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

Bundle getExtras ()

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

Returns
Bundle

getFlags

long getFlags ()

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

Returns
long The current set of flags for the session.

getMediaController

Object getMediaController ()

获取底层框架 MediaController对象。

此方法仅在API 21+上受支持。

Returns
Object The underlying MediaController object, or null if none.

getMetadata

MediaMetadataCompat getMetadata ()

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

Returns
MediaMetadataCompat The current MediaMetadata or null.

getPackageName

String getPackageName ()

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

Returns
String The package name of of the session owner.

getPlaybackInfo

MediaControllerCompat.PlaybackInfo getPlaybackInfo ()

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

Returns
MediaControllerCompat.PlaybackInfo The current playback info or null.

getPlaybackState

PlaybackStateCompat getPlaybackState ()

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

Returns
PlaybackStateCompat The current PlaybackState or null

getQueue

List<MediaSessionCompat.QueueItem> getQueue ()

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

Returns
List<MediaSessionCompat.QueueItem> The current play queue or null.

getQueueTitle

CharSequence getQueueTitle ()

获取此会话的队列标题。

Returns
CharSequence

getRatingType

int getRatingType ()

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

Returns
int The supported rating type

getSessionActivity

PendingIntent getSessionActivity ()

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

Returns
PendingIntent A PendingIntent to launch UI or null.

getSessionToken

MediaSessionCompat.Token getSessionToken ()

获取此控制器连接到的会话的令牌。

Returns
MediaSessionCompat.Token The session's token.

getTransportControls

MediaControllerCompat.TransportControls getTransportControls ()

获取此会话的 MediaControllerCompat.TransportControls实例。

Returns
MediaControllerCompat.TransportControls A controls instance

registerCallback

void registerCallback (MediaControllerCompat.Callback callback, 
                Handler handler)

添加一个回调以接收来自会话的更新。 更新将发布在指定的处理程序线程上。

Parameters
callback MediaControllerCompat.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

void registerCallback (MediaControllerCompat.Callback callback)

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

Parameters
callback MediaControllerCompat.Callback: The callback object, must not be null.

sendCommand

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

向会话发送通用命令。 会话创建者决定他们将支持哪些命令和参数。 因此,命令只能发送给控制器拥有的会话。

Parameters
command String: The command to send
params Bundle: Any parameters to include with the command
cb ResultReceiver: The callback to receive the result on

setVolumeTo

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

void unregisterCallback (MediaControllerCompat.Callback callback)

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

Parameters
callback MediaControllerCompat.Callback: The callback to remove

Hooray!