使用javascript實(shí)現(xiàn)監(jiān)控視頻播放并打印日志
最近在做一個(gè)項(xiàng)目,要求監(jiān)控視頻的播放事件并能夠打印LOG日志,經(jīng)過一番思索,使用javascript實(shí)現(xiàn)了此功能,代碼如下:
HTML:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Multi Source</title>
</head>
<body>
<video src=" <video src=" <video src=" <video src=" <video src=" <video src=" <video src=" <video src=" <video src=" <video src=" <video src=" </body>
</html>
JS:
<script type="text/javascript">
window.addEventListener("load",getVideoEvent);
function getVideoEvent(){
var videoes=document.getElementsByTagName("video");
for (var i = 0; i < videoes.length; i++) {
showEventLog("video"+(i+1),videoes[i]);
}
}
function showEventLog(videoNum,Media){
eventTester = function(e){
Media.addEventListener(e,function(){
console.log(videoNum+":"+e);
});
}
eventTester("loadstart"); //客戶端開始請求數(shù)據(jù)
eventTester("progress"); //客戶端正在請求數(shù)據(jù)
eventTester("suspend"); //延遲下載
eventTester("abort"); //客戶端主動(dòng)終止下載(不是因?yàn)殄e(cuò)誤引起),
eventTester("error"); //請求數(shù)據(jù)時(shí)遇到錯(cuò)誤
eventTester("stalled"); //網(wǎng)速失速
eventTester("play"); //play()和autoplay開始播放時(shí)觸發(fā)
eventTester("pause"); //pause()觸發(fā)
eventTester("loadedmetadata"); //成功獲取資源長度
eventTester("loadeddata"); //
eventTester("waiting"); //等待數(shù)據(jù),并非錯(cuò)誤
eventTester("playing"); //開始回放
eventTester("canplay"); //可以播放,但中途可能因?yàn)榧虞d而暫停
eventTester("canplaythrough"); //可以播放,歌曲全部加載完畢
eventTester("seeking"); //尋找中
eventTester("seeked"); //尋找完畢
eventTester("timeupdate"); //播放時(shí)間改變
eventTester("ended"); //播放結(jié)束
eventTester("ratechange"); //播放速率改變
eventTester("durationchange"); //資源長度改變
eventTester("volumechange"); //音量改變
}
</script>
小伙伴們主要看下本文的思路即可,希望對大家能有所幫助
- Js視頻播放器插件Video.js使用方法詳解
- vue通過video.js解決m3u8視頻播放格式的方法
- vue使用video.js進(jìn)行視頻播放功能
- vue + typescript + video.js實(shí)現(xiàn) 流媒體播放 視頻監(jiān)控功能
- video.js 一個(gè)頁面同時(shí)播放多個(gè)視頻的實(shí)例代碼
- Vue結(jié)合Video.js播放m3u8視頻流的方法示例
- jsp播放視頻文件的方法總結(jié)
- js的flv視頻播放器插件使用方法
- javascript實(shí)現(xiàn)簡單的html5視頻播放器
- JS實(shí)現(xiàn)簡單控制視頻播放倍速的實(shí)例代碼
相關(guān)文章
JavaScript中iframe實(shí)現(xiàn)局部刷新的幾種方法匯總
Iframe是一種嵌入網(wǎng)頁的框架形式,Web頁面可以通過更改嵌入的部分,達(dá)到部分內(nèi)容刷新,通過本文和大家一起學(xué)習(xí)iframe實(shí)現(xiàn)局部刷新的幾種方法匯總,對iframe局部刷新相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2016-01-01JS實(shí)現(xiàn)移動(dòng)端實(shí)時(shí)監(jiān)聽輸入框變化的實(shí)例代碼
這篇文章主要介紹了JS實(shí)現(xiàn)移動(dòng)端實(shí)時(shí)監(jiān)聽輸入框變化的解決方案,需要的朋友可以參考下2017-04-04javascript結(jié)合CSS實(shí)現(xiàn)蘋果開關(guān)按鈕特效
這篇文章主要介紹了javascript結(jié)合CSS實(shí)現(xiàn)蘋果開關(guān)按鈕特效的方法以及全部代碼,效果非常不錯(cuò),兼容性也很好,有需要的小伙伴自己參考下2015-04-04關(guān)于promise和async用法以及區(qū)別詳解
Promise是一個(gè)構(gòu)造函數(shù),我們就可以new Promise()得到一個(gè) Promise的實(shí)例,下面這篇文章主要給大家介紹了關(guān)于promise和async用法以及區(qū)別的相關(guān)資料,需要的朋友可以參考下2023-01-01js+html5實(shí)現(xiàn)canvas繪制網(wǎng)頁時(shí)鐘的方法
這篇文章主要介紹了js+html5實(shí)現(xiàn)canvas繪制網(wǎng)頁時(shí)鐘的方法,涉及html5圖形繪制的基礎(chǔ)技巧,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05