在 video_player.js
中,定義影片播放器包裝函式類別,以啟動及控制 dash.js 播放器。
設定寬頻播放器
建立影片和包裝函式代碼,定義要在應用程式中放置寬頻播放器的位置:
建立影片播放器
使用 HTML 元素、dash.js 播放器和回呼的變數,初始化影片播放器類別,供其他類別方法使用。
定義播放控制項函式
如要顯示廣告播放器並附加影片觀看次數,請建立 VideoPlayer.play()
方法。接著,建立 VideoPlayer.stop()
方法,在廣告 Pod 結束後處理清除作業。
預先載入廣告串流資訊清單
如要確認廣告在內容串流期間和廣告插播時段開始前已充分載入,請使用 VideoPlayer.preload()
和 VideoPlayer.isPreloaded()
。
1. 預先載入廣告串流
建立 VideoPlayer.preload()
方法,預先載入廣告串流資訊清單,並在廣告插播前建立廣告緩衝區。你必須將播放器串流設定 'cacheInitSegments'
更新為 true
。更新設定後,系統會啟用初始片段的快取功能,避免切換至廣告時發生延遲。
2. 檢查預先載入的廣告緩衝區
建立 VideoPlayer.isPreloaded()
方法,檢查預先載入的廣告緩衝區是否足夠,與應用程式中設定的緩衝區門檻相比:
附加播放器事件監聽器
如要為 dash.js 播放器事件新增事件監聽器,請建立 VideoPlayer.attachPlayerListener()
方法:PLAYBACK_PLAYING
、PLAYBACK_ENDED
、LOG
和 ERROR
。這個方法也會處理配置 ID URI 的事件,並設定清除函式來移除這些監聽器。
設定播放器事件回呼
如要根據播放器事件管理廣告連播播放,請建立 VideoPlayer.onAdPodPlaying()
、VideoPlayer.onAdPodEnded()
和 VideoPlayer.onAdPodError()
方法:
為 onAdPodEnded
事件建立設定器
建立 VideoPlayer.setOnAdPodEnded()
方法,設定在廣告插播結束時執行的回呼函式。應用程式類別會使用這個方法,在廣告插播後繼續播放內容。
處理串流中繼資料事件
建立 VideoPlayer.setEmsgEventHandler()
方法,根據 emsg 事件設定要執行的回呼函式。在本指南中,請加入 scope
參數,因為您是在 video_player.js
外部呼叫 setEmsgEventHandler()
。
在廣告插播期間顯示及隱藏影片播放器
如要在廣告插播期間顯示影片播放器,並在廣告插播結束後隱藏播放器,請建立 VideoPlayer.show()
和 VideoPlayer.hide()
方法:
接著,請建立廣告管理員類別,使用 IMA SDK 提出串流請求、取得廣告插播資訊清單、監聽 IMA 串流事件,以及將 emsg 事件傳遞至 IMA SDK。