StreamManager 类

处理动态广告插播串流。此类用于管理与 DAI 服务器的互动、处理跟踪 ping,以及发出视频流和广告事件。
构造函数
constructor
方法
addEventListener
为指定事件类型添加监听器。
getStreamId
返回当前视频流的视频流 ID。
loadStreamMetadata
请求 DAI SDK 加载广告元数据,并发出 LOADED 流事件。
removeEventListener
移除指定 StreamEvent 事件类型的监听器。
replaceAdTagParameters
替换即将针对直播视频流发出的广告请求使用的所有广告代码参数。
requestStream
请求 IMA DAI 加载视频流,使用提供的视频流参数。
reset
重置流管理器并移除所有持续轮询。

构造函数


构造函数

new StreamManager(mediaElement?: HTMLMediaElement): StreamManager
参数
Optional mediaElement: HTMLMediaElement 发生播放的 HTML 媒体元素。如果您使用的是自定义播放器,则必须提供此参数。
返回
StreamManager

方法


addEventListener

addEventListener(type: Type, listener: ((event: StreamEvent) => void)): void
为指定事件类型添加监听器。
参数
type: Type 流式传输事件类型。
listener: ((event: StreamEvent) => void) 广告监听器的回调函数。

getStreamId

getStreamId(): string
返回当前视频流的视频流 ID。
返回
string

loadStreamMetadata

loadStreamMetadata(): void
请求 DAI SDK 加载广告元数据,并发出 LOADED 流事件。 当您从第三方视频拼接器检索到流清单时,请手动调用此方法。此方法仅适用于使用第三方视频拼接器的广告连播投放 VOD 流。

removeEventListener

removeEventListener(type: Type, listener: ((event: StreamEvent) => void)): void
移除指定 StreamEvent 事件类型的监听器。如需成功移除监听器,您传递给此方法的监听器参数必须与之前传递给 addEventListener 方法的监听器参数相同(按引用)。
参数
type: Type 要移除监听器的事件的类型。
listener: ((event: StreamEvent) => void) 要移除的监听器函数。

replaceAdTagParameters

replaceAdTagParameters(adTagParameters: {
  [key: string]: string;
}): void
替换即将针对直播视频流发出的广告请求使用的所有广告代码参数。
参数
adTagParameters: {
  [key: string]: string;
}
替换广告代码参数。必须具有字符串值。

requestStream

requestStream(loadRequest: LoadRequestData, streamRequest: StreamRequest): Promise<LoadRequestData | ErrorData>
请求 IMA DAI 加载视频流,使用提供的视频流参数。
参数
loadRequest: LoadRequestData 包含用于加载流的参数的 CAF LoadRequestData 类的实例。
streamRequest: StreamRequest 包含用于加载流元数据的参数。
返回
Promise<LoadRequestData | ErrorData>

重置

reset(): void
重置流管理器并移除所有持续轮询。