cast. framework. PlayerManager
控制和监控媒体播放。
- 抛出
-
non-null Error
如果直接使用构造函数。PlayerManager
只能通过调用 cast.framework.CastReceiverContext#getPlayerManager 进行访问。
方法
addEventListener
addEventListener(eventType, eventListener)
添加用于监听播放事件的事件监听器。
参数 |
|
---|---|
eventType |
(非 null cast.framework.events.EventType 或非 null 的 cast.framework.events.EventType 数组) 事件类型或事件类型数组 |
eventListener |
function(non-null cast.framework.events.Event) |
- 抛出
-
non-null Error
:如果给定的参数无效。
addSupportedMediaCommands
addSupportedMediaCommands(supportedMediaCommands, broadcastStatus)
将新的受支持媒体命令添加到现有受支持媒体命令列表中。
参数 |
|
---|---|
supportedMediaCommands |
number 应用支持的媒体命令的位掩码。 |
broadcastStatus |
可选 boolean
|
broadcastStatus
broadcastStatus(includeMedia, requestId, customData, includeQueueItems)
向所有发送者发送媒体状态消息(广播)。 应用使用此方法发送自定义状态更改。
参数 |
|
---|---|
includeMedia |
可选 boolean
|
requestId |
可选 number 导致此响应的传入请求的 ID。 |
customData |
可选 对象 状态消息应用专属自定义数据。 值可能为 null。 |
includeQueueItems |
可选 boolean 状态消息中是否包含队列项。默认情况下,它们不包含在内。 |
getAbsoluteTimeForMediaTime
getAbsoluteTimeForMediaTime(mediaTime) 会返回数字
将媒体时间转换为媒体绝对时间。 绝对时间仅适用于直播。
参数 |
|
---|---|
mediaTime |
number 媒体时间。 |
- 返回
-
nullable number
:绝对时间;如果未提供,则为null
。
getAudioTracksManager
getAudioTracksManager() 会返回 cast.framework.AudioTracksManager
获取 AudioTracksManager
实例。
- 返回
-
non-null cast.framework.AudioTracksManager
getBreakClipCurrentTimeSec
getBreakClipCurrentTimeSec() 返回数字
返回当前正在播放的广告插播时间点的当前时间(以秒为单位)。
- 返回
-
nullable number
当前广告插播片段内的当前时间(以秒为单位)。 当Player
未播放广告插播时间点片段时,返回null
。
getBreakClipDurationSec
getBreakClipDurationSec() 会返回数字
返回当前播放的广告插播剪辑的时长(以秒为单位)。
- 返回
-
nullable number
当前广告插播片段的持续时间。 当Player
未播放广告插播时间点片段时,返回null
。
getBreakManager
getBreakManager() 会返回 cast.framework.breaks.BreakManager
获取 BreakManager
实例。
- 返回
-
non-null cast.framework.breaks.BreakManager
getBreaks
getBreaks() 返回非 null cast.framework.messages.Break 的数组
返回插播时间点列表。
- 返回
-
non-null Array of non-null cast.framework.messages.Break
getCurrentSupportedMediaCommands
getCurrentSupportedMediaCommands() 返回数字
获取当前接收器支持的媒体命令。
与 getSupportedMediaCommands()
不同,此方法的返回值会根据当前播放状态动态变化。例如,在广告播放期间,可能不支持 SEEK
命令。只有在调用接收器 CastReceiverContext#start
之后才能调用此方法,否则它将返回 0
。
- 另请参阅
- cast.framework.messages.Command
- 返回
-
number
:应用支持的媒体命令的位掩码。
getCurrentTimeSec
getCurrentTimeSec() 会返回数字
获取当前媒体的已播放时长。
- 返回
-
number
:经过的时间(以秒为单位)。如果没有播放任何媒体内容,此值将为0
。
getDurationSec
getDurationSec() 会返回数字
获取当前正在播放的媒体的时长(以秒为单位)。
- 返回
-
number
媒体的持续时间。如果没有播放媒体内容,则返回NaN
。
getLiveSeekableRange
getLiveSeekableRange() 会返回 cast.framework.messages.LiveSeekableRange
返回开始时间和结束时间(以秒为单位)的实时可搜索范围。 这些值基于媒体时间。
- 返回
getMediaInformation
getMediaInformation() 返回 cast.framework.messages.MediaInformation
获取当前媒体的媒体信息。
- 返回
getMediaTimeForAbsoluteTime
getMediaTimeForAbsoluteTime(absoluteTime) 会返回数字
将媒体绝对时间转换为媒体时间。绝对时间仅适用于直播。
参数 |
|
---|---|
absoluteTime |
number 媒体的绝对时间,采用 UNIX 纪元时间(自 Unix 纪元起经过的秒数)。 |
- 返回
-
nullable number
媒体时间或null
(如果不可用)。
getPlaybackConfig
getPlaybackConfig() 会返回 cast.framework.PlaybackConfig
返回播放配置;如果未替换默认值,则返回 null
。
- 返回
-
nullable cast.framework.PlaybackConfig
getPlaybackRate
getPlaybackRate()
返回当前播放速率。
在调用接收器 CastReceiverContext#start
之前返回 1
。
- 返回
-
number
当前的播放速率。
getPlayerState
getPlayerState() 会返回 cast.framework.messages.PlayerState
获取 Player
状态。
- 返回
-
non-null cast.framework.messages.PlayerState
:当前Player
的状态。
getPreferredPlaybackRate
getPreferredPlaybackRate()
获取首选播放速率。 可在关闭事件发生时用来将最新的首选播放速率保存到永久性存储空间,以便在下一个会话的投射选项中使用。
- 返回
-
number
getPreferredTextLanguage
getPreferredTextLanguage() 返回字符串
获取首选文本轨道语言。
- 返回
-
nullable string
getPreferredTextStyle
getPreferredTextStyle() 会返回 cast.framework.messages.TextTrackStyle
获取首选文本轨道样式。
- 返回
getQueueManager
getQueueManager() returns (cast.framework.QueueManager or undefined)
获取 QueueManager
实例。
- 返回
-
(non-null cast.framework.QueueManager or undefined)
getRawCurrentTimeSec
getRawCurrentTimeSec() 会返回数字
获取当前媒体的已播放时长,而不减去广告插播时间。
- 返回
-
number
:经过的时间(以秒为单位)。如果没有播放任何媒体内容,此值将为0
。
getStartAbsoluteTime
getStartAbsoluteTime() 返回数字
获取绝对媒体开始时间,采用 UNIX 纪元时间(自 Unix 纪元起经过的秒数)。 绝对时间仅适用于直播。
- 返回
-
nullable number
getStats
getStats() returns cast.framework.stats.Stats
返回播放统计信息。在适当的情况下,系统会针对整个播放会话汇总统计信息。
- 返回
-
non-null cast.framework.stats.Stats
getSupportedMediaCommands
getSupportedMediaCommands() 返回数字
获取接收器支持的媒体命令。只应在调用 CastReceiverContext#start()
之后调用,否则返回 0
。受支持的媒体命令值仅由接收器应用控制。
它不会根据 MediaStatus
自动更新。
- 另请参阅
- cast.framework.messages.Command
- 返回
-
number
:应用支持的媒体命令的位掩码。
getTextTracksManager
getTextTracksManager() 会返回 cast.framework.TextTracksManager
获取 TextTracksManager
实例。
- 返回
-
non-null cast.framework.TextTracksManager
getTimedMetadata
getTimedMetadata() 会返回非 null cast.framework.TimedMetadata 的数组
返回在清单解析期间遇到的定时元数据。在 HLS 中为 #EXT-X-DATERANGE
,在 DASH 中为 EventStream
。
- 返回
-
non-null Array of non-null cast.framework.TimedMetadata
负荷
load(loadRequest) 返回包含 void 的 Promise
发起媒体加载请求。
参数 |
|
---|---|
loadRequest |
cast.framework.messages.LoadRequestData 加载媒体的请求。 值不能为 null。 |
- 返回
-
non-null Promise containing void
Promise 在操作成功时解析,或在操作失败时遭拒。
暂停
pause()
暂停当前正在播放的媒体。
play
play()
播放当前暂停的媒体。
removeEventListener
removeEventListener(eventType, eventListener)
移除为给定播放事件添加的事件监听器。 如果不存在匹配的事件监听器,系统会忽略此调用。
参数 |
|
---|---|
eventType |
(非 null cast.framework.events.EventType 或非 null 的 cast.framework.events.EventType 数组) eventType 或事件类型数组 |
eventListener |
function(non-null cast.framework.events.Event) |
removeSupportedMediaCommands
removeSupportedMediaCommands(supportedMediaCommands, broadcastStatus)
从支持的媒体命令列表中移除指令。
参数 |
|
---|---|
supportedMediaCommands |
number 应用支持的媒体命令的位掩码。 |
broadcastStatus |
可选 boolean
|
努力提供服务
Seek(seekTime)
在当前媒体中查找。
参数 |
|
---|---|
seekTime |
number |
sendCustomState
sendCustomState(state)
将自定义状态从应用播放逻辑发送到界面逻辑。
此方法有助于将播放逻辑和界面分离开。通过在逻辑与界面之间保持分离,用户可以针对本地播放和遥控器使用相同的界面逻辑。
此方法发送的自定义状态可通过 PlayerData
提供给界面。
参数 |
|
---|---|
state |
对象 自定义状态对象。 值不能为 null。 |
sendError
sendError(senderId, requestId, type, reason, customData)
向特定发件人发送错误。
参数 |
|
---|---|
senderId |
string 发送者 ID。 |
requestId |
number 导致此错误的传入请求的 ID。 |
类型 |
cast.framework.messages.ErrorType 错误类型。 值不能为 null。 |
原因 |
可选 cast.framework.messages.ErrorReason 错误原因。 值可能为 null。 |
customData |
可选 对象 错误消息:特定于应用的自定义数据。 值可能为 null。 |
sendLocalMediaRequest
sendLocalMediaRequest(request)
发送本地媒体请求。
参数 |
|
---|---|
request |
cast.framework.messages.RequestData 值不能为 null。 |
sendStatus
sendStatus(senderId, requestId, includeMedia, customData, includeQueueItems)
向特定发送者发送媒体状态消息。
参数 |
|
---|---|
senderId |
string 发送者 ID。 |
requestId |
number 导致此响应的传入请求的 ID。 |
includeMedia |
可选 boolean
|
customData |
可选 对象 状态消息应用专属自定义数据。 值可能为 null。 |
includeQueueItems |
可选 boolean 状态消息中是否包含队列项。默认情况下,它们不包含在内。 |
setIdleReason
setIdleReason(idleReason)
设置播放器处于 IDLE
状态的原因。
这样,想要强制使 IDLE
状态的应用可以指明这样做的原因(例如,自定义错误)。
闲置原因会在下一条状态消息中发送。
注意:大多数应用都不需要设置此值。只有在特殊情况下,应用需要使 Player
变为 IDLE
状态,并且默认的 freeReason 未反映预期行为,才需要指定该属性。
参数 |
|
---|---|
idleReason |
cast.framework.messages.IdleReason 处于 值不能为 null。 |
setMediaElement
setMediaElement(mediaElement)
设置要使用的 HTMLMediaElement
。如果设置了 HTMLMediaElement
的 Promise
,则媒体将在 Promise
解析后开始播放。
参数 |
|
---|---|
mediaElement |
(非 null HTMLMediaElement 或包含非 null HTMLMediaElement 的非 null Promise)
|
setMediaInformation
setMediaInformation(mediaInformation, opt_broadcast)
设置媒体信息。
参数 |
|
---|---|
mediaInformation |
cast.framework.messages.MediaInformation 值不能为 null。 |
opt_broadcast |
可选 boolean |
setMediaPlaybackInfoHandler
setMediaPlaybackInfoHandler(handler)
设置处理程序,以针对特定加载请求返回或修改 cast.framework.PlaybackConfig。处理程序参数是接收器的 LoadRequestData
和默认 PlaybackConfig
(在 CastReceiverOptions
中提供)。处理程序应返回修改后的播放配置,或返回 null
以阻止媒体播放。返回值也可以是 Promise
,以允许等待来自服务器的数据。
参数 |
|
---|---|
handler |
function(non-null cast.framework.messages.LoadRequestData, non-null cast.framework.PlaybackConfig) 用于提供具体请求播放配置的函数。 值可能为 null。 |
setMediaUrlResolver
setMediaUrlResolver(resolver)
设置处理程序,以返回 LOAD
请求的媒体网址。此处理程序可用于避免将媒体内容网址作为媒体状态的一部分发布。默认情况下,媒体 contentId
用作内容网址。
参数 |
|
---|---|
解析器 |
function(non-null cast.framework.messages.LoadRequestData) 一个用于解析媒体内容网址的函数。 值可能为 null。 |
setMessageInterceptor
setMessageInterceptor(type, interceptor)
设置传入和传出消息的拦截器。
拦截器可以更新请求数据,并且应返回更新后的数据、包含更新数据的 Promise
(如果无法立即返回数据)或 null
(如果不应处理请求)。
注意:如果提供了 LOAD
消息拦截器,但未提供单独的 PRELOAD
拦截器,系统将为 PRELOAD
消息调用 LOAD
拦截器。
参数 |
|
---|---|
类型 |
cast.framework.messages.MessageType 值不能为 null。 |
拦截器 |
function(non-null cast.framework.messages.RequestData) 值可能为 null。 |
setPlaybackConfig
setPlaybackConfig(playbackConfig)
在 PlayerManager
上设置播放配置。
参数 |
|
---|---|
playbackConfig |
值不能为 null。 |
setSupportedMediaCommands
setSupportedMediaCommands(supportedMediaCommands, broadcastStatus)
设置接收器支持的媒体命令。
参数 |
|
---|---|
supportedMediaCommands |
number 应用支持的媒体命令的位掩码。 |
broadcastStatus |
可选 boolean
|
个经停点
stop()
停止当前播放的媒体。