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