类:媒体

构造函数

媒体

new Media(sessionId, mediaSessionId)

参数

sessionId

字符串

会话标识符。

mediaSessionId

number

媒体标识符。

属性

activeTrackId

可为 null 的数组

与有效曲目相对应的 ID 列表。

breakStatus

(非 null chrome.cast.media.BreakStatus 或 undefined)

接收器正在播放广告插播时间点时的状态。此字段将在接收者正在播放广告插播时间点时定义,在没有播放广告插播时间点时为空,但内容中已存在,且在内容不含广告插播时间点时未定义。

currentItemId

可为 null 的数字

媒体状态发生更改时在队列中处于有效状态的项目 ID(可能没有在播放)。

currentTime

number

当前媒体位置(以秒为单位,表示自媒体开始播放之时)。 此成员只是偶尔更新,因此其值通常已过期。使用 getEstimatedTime 方法,根据接收者报告的最后一个信息来估算实际的播放位置。

已弃用
请改用 getEstimatedTime。

自定义数据

可为 null 的对象

接收器应用设置的自定义数据。

idleReason

可为 null chrome.cast.media.IdleReason

如果接收方知道,则显示空闲原因。

items

可为 null 的非 null chrome.cast.mediaItem.QueueItem 数组

队列中已排序的项数组。

LiveSeekableRange

(非 null chrome.cast.media.LiveSeekableRange 或 undefined)

直播或活动视频流的可定位范围。它使用以秒为单位的相对媒体时间。对于 VOD 视频流,此值将处于未定义状态。

加载项 ID

可为 null 的数字

接收器上当前加载的商品的 ID。如果目前没有加载任何内容,则为 null。

media

可为 chrome.cast.media.MediaInfo 是否可为 null

媒体说明。

mediaSessionId

number

标识媒体项。

playbackRate

number

播放速率。1.0 表示正常播放。

playerState(播放器状态)

非 null chrome.cast.media.PlayerState

播放器状态。

预加载的项 ID

可为 null 的数字

下一个项的 ID,仅在已预加载时可用。在接收器上,媒体项可以预加载,而且可以临时缓存在内存中,因此稍后加载时,进程速度会更快(因为不必从网络中提取媒体)。

queueData

(非 null chrome.cast.media.QueueData 或 undefined)

队列数据。

重复模式

非 null chrome.cast.media.RepeatMode

播放队列的重复模式。

sessionId

字符串

用于标识托管媒体的会话。

支持的 MediaCommands

非 null 的 chrome.cast.media.MediaCommand 数组

媒体播放器支持的媒体命令。

videoInfo

(非 null chrome.cast.media.VideoInformation 或 undefined)

视频信息。

音量

非 null chrome.cast.Volume

媒体流音量。 将始终设置 volume.level 和 volume.muted。

方法

addUpdateListener

addUpdateListener(监听器)

添加在媒体状态发生更改时调用的监听器。 对以下属性进行更改将触发监听器:currentTime、volume、metadata、playRate、playerState、customData。如果成功调用媒体的 getStatus 方法,也会触发监听器。

参数

监听器

函数(布尔值)

要添加的监听器。此参数用于指明媒体对象是否仍处于活动状态。

EditTracks 信息

editTracksInfo(editTracksInfoRequest、successCallback、errorCallback)

修改文本轨道样式或更改轨道状态。 如果 trackId 与现有 TrackId 不匹配,则整个请求将失败,并且状态不会更改。

参数

editTracksInfoRequest 中的字段

chrome.cast.media.EditTracksInfoRequest

值不能为 null。

成功回调

函数()

调用成功。

errorCallback

函数(非 null chrome.cast.Error

出错时调用。可能的错误包括 TIMEOUT、API_NOT_INITIALIZED、INVALID_PARAMETER、CHANNEL_ERROR、SESSION_ERROR 和 EXTENSION_MISSING。

getEstimatedBreakClipTime

getEstimatedBreakClipTime() 返回(数字或未定义)

根据接收器报告的最后信息估算当前的广告插播剪辑位置。

返回

(number or undefined):媒体插入起始点的估计时间(以秒为单位)。如果未在播放中断,则未定义 breakStatus 或 currentBreakClipTime,则返回未定义。

getEstimatedBreakTime

getEstimatedBreakTime() 返回(数字或未定义)

根据接收器报告的最后一个信息来估算当前的断点位置。

返回

(number or undefined):媒体起始点的估算值,自媒体开始播放后经过的秒数。如果未定义 breakStatus 或 currentBreakTime(未播放中断),则返回未定义。

getEstimatedLiveSeekableRange

getEstimatedLiveSeekableRange()(chrome.cast.media.LiveSeekableRange 或未定义)

根据接收器报告的最后信息估算 liveSeekableRange 的起始时间(以秒为单位)。

返回

(non-null chrome.cast.media.LiveSeekableRange or undefined):当前 liveSeekableRange 的估算值。如果内容未上架,如果未定义 liveSeekableRange、liveSeekableRange.start 或 liveSeekableRange.end,将返回未定义。

getEstimatedTime

getEstimatedTime() 返回次数

根据接收器报告的最后信息估算当前播放位置。

返回

number:媒体播放开始后的估计位置(以秒为单位)。

getStatus

getStatus(getStatusRequest、successCallback、errorCallback)

从接收方应用获取媒体项的状态。

除了指定的成功回调之外,当从接收器应用收到状态时,系统也会调用所有已添加的媒体更新监听器。应用应优先依赖于在每次媒体更改时自动调用媒体更新监听器,而不是调用此方法来轮询媒体状态。

参数

getStatusRequest

chrome.cast.media.GetStatusRequest

可选的 get 状态请求。

成功回调

函数()

在接收方应用收到状态时调用。

errorCallback

函数(非 null chrome.cast.Error

出错时调用。可能的错误包括 TIMEOUT、API_NOT_INITIALIZED、INVALID_PARAMETER、CHANNEL_ERROR、SESSION_ERROR 和 EXTENSION_MISSING。

暂停

pause(pauseRequest、successCallback、errorCallback)

暂停媒体项。

参数

暂停请求

chrome.cast.media.PauseRequest

成功回调

函数()

调用成功。

errorCallback

函数(非 null chrome.cast.Error

出错时调用。 媒体暂停请求。可能的错误包括 TIMEOUT、API_NOT_INITIALIZED、INVALID_PARAMETER、CHANNEL_ERROR、SESSION_ERROR 和 EXTENSION_MISSING。

play

play(playRequest、successCallback、errorCallback)

播放媒体项。

参数

playRequest

chrome.cast.media.PlayRequest

可选的媒体播放请求。

成功回调

函数()

调用成功。

errorCallback

函数(非 null chrome.cast.Error

出错时调用。可能的错误包括 TIMEOUT、API_NOT_INITIALIZED、INVALID_PARAMETER、CHANNEL_ERROR、SESSION_ERROR 和 EXTENSION_MISSING。

queueAttachItem

queueAttachItem(item、successCallback、errorCallback)

在队列末尾附加新的媒体项。

参数

项目

chrome.cast.mediaItem.QueueItem

要附加到队列末尾的项。

值不能为 null。

成功回调

函数()

调用成功。

errorCallback

函数(非 null chrome.cast.Error

出错时调用。可能的错误包括 TIMEOUT、API_NOT_INITIALIZED、INVALID_PARAMETER、CHANNEL_ERROR、SESSION_ERROR 和 EXTENSION_MISSING。

queueInsertItems

queueInsertItems(queueInsertItemsRequest、successCallback、errorCallback)

用于将新媒体项列表插入队列。

参数

queueInsertItemsRequest

chrome.cast.mediaInsert.Items

请求向媒体队列插入媒体项。

值不能为 null。

成功回调

函数()

调用成功。

errorCallback

函数(非 null chrome.cast.Error

出错时调用。可能的错误包括 TIMEOUT、API_NOT_INITIALIZED、INVALID_PARAMETER、CHANNEL_ERROR、SESSION_ERROR 和 EXTENSION_MISSING。

QueueJumpToItem

queueJumpToItem(itemId、successCallback、errorCallback)

播放队列中包含 itemId 的项目。

如果在队列中找不到 itemId,可能是因为它最初不存在或已被其他发送者在调用此函数之前移除,因此此函数将静默返回,而不会向接收器发送请求。

参数

itemId

number

要跳转到的内容的 ID。

成功回调

函数()

调用成功。

errorCallback

函数(非 null chrome.cast.Error

出错时调用。可能的错误包括 TIMEOUT、API_NOT_INITIALIZED、INVALID_PARAMETER、CHANNEL_ERROR、SESSION_ERROR 和 EXTENSION_MISSING。

queueMoveItemToNewIndex 类中的方法

queueMoveItemToNewIndex(itemId、newIndex、successCallback、errorCallback)

将 itemId 对应的项移到队列中的 newIndex 位置。

如果在队列中找不到 itemId,可能是因为它最初不存在或已被其他发送者在调用此函数之前移除,因此此函数将静默返回,而不会向接收器发送请求。

如果 newIndex 为负数,则会调用 errorCallback。但是,如果 newIndex 溢出(由于指定有误或队列被其他发送者缩减了),系统就会将该项移动到队列末尾。

参数

itemId

number

要移动的内容的 ID。

新索引

number

商品的新索引。

成功回调

函数()

调用成功。

errorCallback

函数(非 null chrome.cast.Error

出错时调用。可能的错误包括 TIMEOUT、API_NOT_INITIALIZED、INVALID_PARAMETER、CHANNEL_ERROR、SESSION_ERROR 和 EXTENSION_MISSING。

下一个队列

queueNext(successCallback, errorCallback)

跳转到队列中的下一项。

参数

成功回调

函数()

调用成功。

errorCallback

函数(非 null chrome.cast.Error

出错时调用。可能的错误包括 TIMEOUT、API_NOT_INITIALIZED、INVALID_PARAMETER、CHANNEL_ERROR、SESSION_ERROR 和 EXTENSION_MISSING。

上一个队列

queuePrev(successCallback, errorCallback)

跳转到队列中的上一项。

参数

成功回调

函数()

调用成功。

errorCallback

函数(非 null chrome.cast.Error

出错时调用。可能的错误包括 TIMEOUT、API_NOT_INITIALIZED、INVALID_PARAMETER、CHANNEL_ERROR、SESSION_ERROR 和 EXTENSION_MISSING。

queueRemoveItem

queueRemoveItem(itemId、successCallback、errorCallback)

从队列中移除包含 itemId 的项。

如果在队列中找不到 itemId,可能是因为它最初不存在或已被其他发送者在调用此函数之前移除,因此此函数将静默返回,而不会向接收器发送请求。

参数

itemId

number

要移除的商品的 ID。

成功回调

函数()

调用成功。

errorCallback

函数(非 null chrome.cast.Error

出错时调用。可能的错误包括 TIMEOUT、API_NOT_INITIALIZED、INVALID_PARAMETER、CHANNEL_ERROR、SESSION_ERROR 和 EXTENSION_MISSING。

queueReorderItems

queueReorderItems(queueReorderItemsRequest、successCallback、errorCallback)

对队列中的媒体项列表进行重新排序。

参数

queueReorderItemsRequest

chrome.cast.mediaReorderItemsRequest

请求对媒体队列中的内容重新排序。

值不能为 null。

成功回调

函数()

调用成功。

errorCallback

函数(非 null chrome.cast.Error

出错时调用。可能的错误包括 TIMEOUT、API_NOT_INITIALIZED、INVALID_PARAMETER、CHANNEL_ERROR、SESSION_ERROR 和 EXTENSION_MISSING。

queueSetRepeatMode

queueSetRepeatMode(repeatMode、successCallback、errorCallback)

设置队列的重复模式。

参数

重复模式

chrome.cast.media.RepeatMode

用于在当前项结束时选择下一项的算法。

值不能为 null。

成功回调

函数()

调用成功。

errorCallback

函数(非 null chrome.cast.Error

出错时调用。可能的错误包括 TIMEOUT、API_NOT_INITIALIZED、INVALID_PARAMETER、CHANNEL_ERROR、SESSION_ERROR 和 EXTENSION_MISSING。

queueUpdateItems

queueUpdateItems(queueUpdateItemsRequest、successCallback、errorCallback)

更新媒体队列的属性(例如重复模式),以及媒体队列中现有项的属性。

参数

queueUpdateItemsRequest

chrome.cast.mediaUpdateQueueRequest

请求更新媒体队列的属性。

值不能为 null。

成功回调

函数()

调用成功。

errorCallback

函数(非 null chrome.cast.Error

出错时调用。可能的错误包括 TIMEOUT、API_NOT_INITIALIZED、INVALID_PARAMETER、CHANNEL_ERROR、SESSION_ERROR 和 EXTENSION_MISSING。

removeUpdateListener

removeUpdateListener(listener)

移除此媒体之前添加的监听器。

参数

监听器

函数(布尔值)

要移除的监听器。

seek

Seek(seekRequest, successfulCallback, errorCallback)

搜索媒体项。

参数

还原请求

chrome.cast.media.SeekRequest

媒体查找请求。

值不能为 null。

成功回调

函数()

调用成功。

errorCallback

函数(非 null chrome.cast.Error

出错时调用。可能的错误包括 TIMEOUT、API_NOT_INITIALIZED、INVALID_PARAMETER、CHANNEL_ERROR、SESSION_ERROR 和 EXTENSION_MISSING。

setVolume

setVolume(volumeRequest、successCallback、errorCallback)

设置媒体流音量。必须至少设置 volumeRequest.level 或 volumeRequest.muted 中的其中一个。更改静音状态不会影响音量,反之亦然。

参数

音量请求

chrome.cast.media.VolumeRequest

已设置的音量请求。

值不能为 null。

成功回调

函数()

调用成功。

errorCallback

函数(非 null chrome.cast.Error

出错时调用。可能的错误包括 TIMEOUT、API_NOT_INITIALIZED、INVALID_PARAMETER、CHANNEL_ERROR、SESSION_ERROR 和 EXTENSION_MISSING。

停止

stop(stopRequest、successCallback、errorCallback)

停止媒体播放器。

参数

停止请求

chrome.cast.media.StopRequest

停止请求。

成功回调

函数()

调用成功。

errorCallback

函数(非 null chrome.cast.Error

出错时调用。可能的错误包括 TIMEOUT、API_NOT_INITIALIZED、INVALID_PARAMETER、CHANNEL_ERROR、SESSION_ERROR 和 EXTENSION_MISSING。

支持命令

SupportCommand(command) 返回布尔值

确定媒体播放器是否支持给定的媒体命令。

参数

命令

chrome.cast.media.MediaCommand

要查询的命令。

值不能为 null。

返回

boolean:如果播放器支持该命令,则为 true。