StreamManager
处理动态广告插播流。它管理与 DAI 后端的互动、处理跟踪 ping 以及将视频流和广告事件转发给发布商。该管理器不会从 BaseAdsManager 继承,因为它不是特定广告的管理器,而是整个视频流的管理器
构造函数
StreamManager
新 StreamManager(videoElement, adUiElement, uiSettings)
参数 |
|
---|---|
videoElement |
将用于播放的 HTML 视频元素。 值不能为 null。 |
adUiElement |
可选 用于包含广告界面元素的 HTML 元素。此元素应与视频播放的高度和宽度相同,并应直接叠加。如果未提供,则不会显示任何界面,也不会请求任何需要使用界面的广告,例如可跳过式广告。 值不能为 null。 |
uiSettings |
可选 要用于此数据流的界面设置。 值不能为 null。 |
- 抛出
-
在输入参数不满足要求时触发。
方法
contentTimeForStreamTime
contentTimeForStreamTime(streamTime) 会返回数字
返回给定流式传输时间内没有广告的内容时间。返回给定的直播视频流时间。
参数 |
|
---|---|
streamTime |
number 插入了广告后在线播放的时间(以秒为单位)。 |
- 返回
-
number
:移除广告后,与给定的流时间相对应的内容时间。
焦点
焦点()
将焦点放在“跳过”按钮上(如果有)。如果不存在,则将焦点放在互动元素上,包括图标或互动式广告素材。
getAdSkippableState
getAdSkippableState() 会返回布尔值
如果广告目前可以跳过,则返回 true。当此值发生更改时,StreamManager
会触发 StreamEvent.SKIPPABLE_STATE_CHANGED
事件。
- 返回
-
boolean
如果广告当前可以跳过,则为 true,否则为 false。
loadStreamMetadata
loadStreamMetadata()
请求 SDK 加载广告元数据,然后广播 StreamEvent.LOADED。 从第三方视频拼接器检索到流清单后,应手动触发此操作。这仅适用于带有第三方视频拼接器的 Pod Serving VOD,对于其他视频流请求为空操作。
onTimedMetadata
onTimedMetadata(metadata)
传入已处理元数据的字典。该字典需要“TXXX”键和用户定义的元数据字符串作为值。 如果您的播放器提供原始元数据,请改为调用 StreamManager.processMetadata。
参数 |
|
---|---|
元数据 |
对象 元数据字典。 值不能为 null。 |
previousCuePointForStreamTime
previousCuePointForStreamTime(streamTime) 返回 CuePoint
返回给定流式传输时间的上一个广告插入点。如果不存在此类提示点,则返回 null。此属性用于实现快速返回等功能,且会在发布商检测到用户为了让用户返回到广告插播时间点而进行跳转时调用。
参数 |
|
---|---|
streamTime |
number 目标流时间。 |
- 返回
-
nullable CuePoint
:给定流式传输时间的上一个广告插入点。
processMetadata
processMetadata(type, data, timestamp)
处理直播的定时元数据。如果您的视频播放器提供了未解析的元数据以及时间戳,请使用此类型;否则,请调用 StreamManager.onTimedMetadata。
参数 |
|
---|---|
类型 |
string 元数据的类型。对于 HLS,必须为“ID3”;对于 DASH,必须为事件消息方案 ID URI。 |
data |
(非 null Uint8Array 或字符串) 原始代码数据。对于 ID3,必须是完整的原始代码数据。对于 DASH 事件消息,此字段为消息数据字符串。 |
时间戳 |
number 处理数据的时间(以秒为单位)。 对于 DASH,这是事件消息开始时间。 |
replaceAdTagParameters
replaceAdTagParameters(adTagParameters)
替换即将针对某个直播活动发出的广告请求的所有广告代码参数。
参数 |
|
---|---|
adTagParameters |
具有字符串属性的对象 新的广告代码参数。 必须包含字符串值。 值不能为 null。 |
requestStream
requestStream(streamRequest)
使用提供的流参数请求要加载的流。
参数 |
|
---|---|
streamRequest |
包含用于加载数据流元数据的参数。 值不能为 null。 |
重置
reset()
重置信息流管理器并移除所有持续轮询。
setClickElement
setClickElement(clickElement)
设置广告的点击元素。此元素会在广告播放时用作点击或点按接收器,可能会导致用户离开当前页面。这现已弃用,应改为将 adUiElement 传入 StreamManager。如果将 adUiElement 提供给 StreamManager 构造函数,则此方法会变为空操作。
参数 |
|
---|---|
clickElement |
元素 用作广告点击的元素。 值可以为 null。 |
- 已弃用
- 改为向 StreamManager 构造函数提供 adUiElement。
streamTimeForContentTime
streamTimeForContentTime(contentTime) 返回数字
返回给定内容时间内包含广告的在线播放时间。返回直播的指定内容时间。
参数 |
|
---|---|
contentTime |
number 不含任何广告的内容时长(以秒为单位)。 |
- 返回
-
number
:插入广告后,与给定内容时间对应的流时间。