Class StreamManager

處理動態廣告插播串流。這個類別會管理與 DAI 伺服器的互動、處理追蹤 Ping,以及發出串流和廣告事件。
建構函式
constructor
方法
addEventListener
為指定事件類型新增監聽器。
getStreamId
傳回目前串流的串流 ID。
loadStreamMetadata
要求 DAI SDK 載入廣告中繼資料,並發出 LOADED 串流 事件。
removeEventListener
移除指定 StreamEvent 事件類型的監聽器。
replaceAdTagParameters
取代用於直播近期即將放送的廣告請求的所有廣告代碼參數。
requestStream
使用提供的串流參數,要求載入 IMA DAI 的串流。
reset
重設串流管理員,並移除所有持續輪詢。

建構函式


constructor

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 串流事件。 從第三方影片縫合器擷取串流資訊清單時,請手動呼叫這個方法。這個方法僅適用於 Pod 放送 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
重設串流管理員,並移除所有持續輪詢。