雷火神山直播超兩億,Web播放器事件監聽是怎麼實現的?

Alt

Web播放器解決了在手機瀏覽器和PC瀏覽器上播放音視頻數據的問題,讓視音頻內容能夠不依賴用戶安裝App,就能進行播放以及在社交平臺進行傳播。在視頻業務大數據平臺中,播放數據的統計分析很是重要,因此Web播放器在使用過程當中,須要對其內部的數據進行收集並上報至服務端,此時,就須要對發生在其內部的一些播放行爲進行事件監聽。瀏覽器

那麼Web播放器事件監聽是怎麼實現的呢?ide

01 監聽事件明細表

名稱 介紹
play 已經開始播放,調用 play() 方法或者設置了 autuplay 爲 true 且生效時觸發,這時 paused 屬性爲 false。
playing 因緩衝而暫停或中止後恢復播放時觸發,paused 屬性爲 false 。一般用這個事件來標記視頻真正播放,play 事件只是開始播放,畫面並無開始渲染。
loadstart 開始加載數據時觸發。
durationchange 視頻的時長數據發生變化時觸發。
loadedmetadata 已加載視頻的 metadata。
loadeddata 當前幀的數據已加載,但沒有足夠的數據來播放視頻下一幀時,觸發該事件。
progress 在獲取到媒體數據時觸發。
canplay 當播放器可以開始播放視頻時觸發。
canplaythrough 當播放器預計可以在不停下來進行緩衝的狀況下持續播放指定的視頻時觸發。
error 視頻播放出現錯誤時觸發。
pause 暫停時觸發。
ratechange 播放速率變動時觸發。
seeked 搜尋指定播放位置結束時觸發。
seeking 搜尋指定播放位置開始時觸發。
timeupdate 當前播放位置有變動,能夠理解爲 currentTime 有變動。
volumechange 設置音量或者 muted 屬性值變動時觸發。
waiting 播放中止,下一幀內容不可用時觸發。
ended 視頻播放已結束時觸發。此時 currentTime 值等於媒體資源最大值。
fullscreenchange 全屏狀態切換時觸發。

02 技術實現

初始化參數
播放器初始化須要傳入兩個參數,第一個爲播放器容器 ID(即video標籤上的ID,該ID名稱可自定義。例如:),第二個爲功能參數對象。大數據

var player = JDplayer('player-video-id', options);

初始化播放器返回監聽事件對象的方法
Alt網站

事件監聽的技術實現spa

播放器能夠經過初始化返回的對象進行事件監聽,示例:code

var player = JDplayer('player-video-id', options);  
  // player.on(type, function(){
  // 作一些處理
 // });
 player.on('error', function(error) {
   // 作一些處理
 });

其中 type 爲事件類型,具體事件信息詳見監聽事件明細表。視頻

03 應用場景

Web播放器可普遍應用於視頻網站、視頻電商、體育/遊戲賽事直播、在線教育等場景,而事件監聽是Web播放器在實際應用中的重要環節,經過事件監聽,可對用戶的播放行爲、播放異常等數據進行完善的統計分析,這對視頻相關業務的規劃、運營和維護都有着重要的參考意義。對象

您也能夠點擊「連接」瞭解更多關於京東雲短視頻 SDK的相關資訊。blog

歡迎點擊「京東雲」瞭解更多精彩內容。遊戲

Alt
Alt

相關文章
相關標籤/搜索