Most visited

Recently visited

MediaItemStatus

public final class MediaItemStatus
extends Object

java.lang.Object
   ↳ android.support.v7.media.MediaItemStatus


介绍媒体项目的播放状态。

该类是 MediaControlIntent类所描述的远程回放协议的 MediaControlIntent

作为一个媒体项目播放时,它通过过渡状态,包括序列: pendingbufferingplayingpausedfinishedcanceledinvalidated ,并error 请参阅每个州的文件以获取其含义的解释。

播放项目时,播放状态还可能包含有关 content positioncontent duration进度信息,但并非所有路线目的地都会报告。

为了监视播放状态,应用程序应该提供一个PendingIntent为使用item status update receiver对于给定playback request 请注意,状态更新接收器仅在主要状态更改(例如从播放转换到完成时)时才会被调用。

状态更新接收器不会被用于较小的进度更新,例如更改播放位置或持续时间。 如果应用程序想要监视播放进度,则必须使用get status request定期轮询更改并估计播放时的播放位置。 请注意,可能会对轮询产生重大影响,因此建议应用程序仅在屏幕打开时进行轮询,并且每5秒钟不要超过约一次。

一旦使用 MediaItemStatus.Builder实例创建该对象是不可变的。

Summary

Nested classes

class MediaItemStatus.Builder

建设者为media item status objects

Constants

String EXTRA_HTTP_RESPONSE_HEADERS

Bundle extra:HTTP响应头。

String EXTRA_HTTP_STATUS_CODE

整数额外:HTTP状态码。

int PLAYBACK_STATE_BUFFERING

播放状态:缓冲或寻找到新的位置。

int PLAYBACK_STATE_CANCELED

播放状态:取消。

int PLAYBACK_STATE_ERROR

播放状态:播放暂停或由于错误而中止。

int PLAYBACK_STATE_FINISHED

播放状态:完成。

int PLAYBACK_STATE_INVALIDATED

播放状态:无效。

int PLAYBACK_STATE_PAUSED

播放状态:已暂停。

int PLAYBACK_STATE_PENDING

播放状态:待处理。

int PLAYBACK_STATE_PLAYING

播放状态:正在播放。

Public methods

Bundle asBundle()

将此对象转换为序列化包。

static MediaItemStatus fromBundle(Bundle bundle)

从一个包创建一个实例。

long getContentDuration()

获取要播放的内容的总持续时间,为长整数毫秒。

long getContentPosition()

从内容的开始处获取内容播放位置为一个长整数毫秒。

Bundle getExtras()

获取此状态对象的一系列附加内容。

int getPlaybackState()

获取媒体项目的播放状态。

long getTimestamp()

获取自 elapsedRealtime()时基中引导以来的状态信息(以毫秒为单位)关联的时间戳。

String toString()

返回对象的字符串表示形式。

Inherited methods

From class java.lang.Object

Constants

EXTRA_HTTP_RESPONSE_HEADERS

String EXTRA_HTTP_RESPONSE_HEADERS

Bundle extra:HTTP响应头。

指定从网络请求内容时返回的HTTP响应标头。 标题可能包含有关内容的附加信息或尝试获取内容时遇到的任何错误条件。

该值是描述HTTP响应头的基于字符串的键值对的 Bundle

常量值:“android.media.status.extra.HTTP_RESPONSE_HEADERS”

EXTRA_HTTP_STATUS_CODE

String EXTRA_HTTP_STATUS_CODE

整数额外:HTTP状态码。

指定在遵循所有重定向后请求内容时遇到的HTTP状态码。 只有在内容URI使用HTTP或HTTPS方案并且发生错误时才需要指定此密钥。 如果内容能够成功播放,则可以省略此键; 不需要报告200(OK)状态码。

该值是整数HTTP状态代码,例如401(未授权),404(未找到)或500(服务器错误),如果没有,则为0。

常量值:“android.media.status.extra.HTTP_STATUS_CODE”

PLAYBACK_STATE_BUFFERING

int PLAYBACK_STATE_BUFFERING

播放状态:缓冲或寻找到新的位置。

表示媒体项目已暂时中断以提取更多内容。 当足够的内容被缓冲时,播放将自动继续。

常量值:3(0x00000003)

PLAYBACK_STATE_CANCELED

int PLAYBACK_STATE_CANCELED

播放状态:取消。

表示该应用程序显式地将该媒体项目从队列中删除。 可以使用removestop操作取消项目并将其从队列中删除,或者发出另一个具有清除队列副作用的play操作。

取消的媒体项目无法恢复。 要再次播放内容,应用程序必须发送新的playenqueue操作。

常量值:5(0x00000005)

PLAYBACK_STATE_ERROR

int PLAYBACK_STATE_ERROR

播放状态:播放暂停或由于错误而中止。

尝试从服务器检索内容时出现错误的示例是无网络连接,或尝试播放基于订阅的内容时出现过期的用户凭据。

处于错误状态的媒体项目无法恢复。 要再次播放内容,应用程序必须发送新的playenqueue操作。

常量值:7(0x00000007)

PLAYBACK_STATE_FINISHED

int PLAYBACK_STATE_FINISHED

播放状态:完成。

表示媒体项目播放到内容结尾并正常结束。

完成的媒体项目无法恢复。 要再次播放内容,应用程序必须发送新的playenqueue操作。

常量值:4(0x00000004)

PLAYBACK_STATE_INVALIDATED

int PLAYBACK_STATE_INVALIDATED

播放状态:无效。

表示媒体项目已被永久和非自愿无效。 此状态用于指示媒体项目已失效并从队列中删除,因为它所属的会话已失效(通常由另一个控制该路由的应用程序)。

发生失效时,应用程序通常应等待用户执行显式操作,例如单击UI中的播放按钮,然后再创建新的媒体会话,以避免不必要地中断可能刚刚开始使用路由的其他应用程序。

无效的媒体项目无法恢复。 要再次播放内容,应用程序必须发送新的playenqueue动作。

常数值:6(0x00000006)

PLAYBACK_STATE_PAUSED

int PLAYBACK_STATE_PAUSED

播放状态:已暂停。

表示媒体项目的播放已暂停。 播放可以使用resume操作重新开始。

常量值:2(0x00000002)

PLAYBACK_STATE_PENDING

int PLAYBACK_STATE_PENDING

播放状态:待处理。

表示媒体项目尚未开始播放,但会最终播放。

常量值:0(0x00000000)

PLAYBACK_STATE_PLAYING

int PLAYBACK_STATE_PLAYING

播放状态:正在播放。

表示媒体项目正在播放。

常数值:1(0x00000001)

Public methods

asBundle

Bundle asBundle ()

将此对象转换为序列化包。

Returns
Bundle The contents of the object represented as a bundle.

fromBundle

MediaItemStatus fromBundle (Bundle bundle)

从一个包创建一个实例。

Parameters
bundle Bundle: The bundle, or null if none.
Returns
MediaItemStatus The new instance, or null if the bundle was null.

getContentDuration

long getContentDuration ()

获取要播放的内容的总持续时间,为长整数毫秒。

Returns
long The content duration in milliseconds, or -1 if unknown.

getContentPosition

long getContentPosition ()

从内容的开始处获取内容播放位置为一个长整数毫秒。

Returns
long The content playback position in milliseconds, or -1 if unknown.

getExtras

Bundle getExtras ()

获取此状态对象的一系列附加内容。 媒体路由器将会忽略额外信息,但它们可能会被应用程序使用。

Returns
Bundle

getPlaybackState

int getPlaybackState ()

获取媒体项目的播放状态。

Returns
int The playback state. One of PLAYBACK_STATE_PENDING, PLAYBACK_STATE_PLAYING, PLAYBACK_STATE_PAUSED, PLAYBACK_STATE_BUFFERING, PLAYBACK_STATE_FINISHED, PLAYBACK_STATE_CANCELED, PLAYBACK_STATE_INVALIDATED, or PLAYBACK_STATE_ERROR.

getTimestamp

long getTimestamp ()

获取与自 elapsedRealtime()时基中的引导以来的状态信息相关的时间戳(以毫秒为单位)。

Returns
long The status timestamp in the elapsedRealtime() time base.

toString

String toString ()

返回对象的字符串表示形式。 一般来说, toString方法会返回一个“文本表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。

ObjecttoString方法返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @ ”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.

Hooray!