StreamManager
处理动态广告插播流。它负责管理与 DAI 后端的互动,处理跟踪 ping 以及将视频流和广告事件转发给发布商。此管理器并非继承自 BaseAdapter,因为它不是特定广告的管理器,而是整个视频流的管理器
构造函数
StreamManager
new StreamManager(videoElement, adUiElement, uiSettings)
参数 |
|
---|---|
videoElement |
将在其中播放的 HTML 视频元素。 值不能为 null。 |
adUiElement |
可选 用于存放广告界面元素的 HTML 元素。此元素应与视频播放时的高度和宽度相同,并应直接叠加。如果未提供,系统将不会显示任何界面,也不会请求任何需要界面的广告,例如可跳过的广告。 值不能为 null。 |
uiSettings |
可选 要用于此数据流的界面设置。 值不能为 null。 |
- 实现
- EventTargetEventTarget
- 抛出
-
当输入参数不符合要求时。
方法
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。如果为 StreamManager 构造函数指定了 adUiElement,则此方法会变为空操作。
参数 |
|
---|---|
clickElement |
元素 用作广告点击的元素。 值可能为 null。 |
- 已弃用
- 改为向 StreamManager 构造函数提供 adUiElement。
streamTimeForContentTime
streamTimeForContentTime(contentTime) 会返回数字
返回广告在给定内容时长内的流式传输时间。返回直播的指定内容时间。
参数 |
|
---|---|
contentTime |
number 无任何广告的内容时长(以秒为单位)。 |
- 返回
-
number
是广告插入后与指定内容时间相对应的播放时间。