天天看點

JS判斷視訊Video的播放、暫停、結束完成及擷取長度事件監聽處理

JS判斷視訊Video的播放、暫停、結束完成及擷取長度事件監聽處理

在日常應用場景中,可能會遇到這麼一個情況,需要判斷使用者是否完整的觀看完了一部視訊,在這個場景中,和視訊相關的事件大體涉及到幾個部分,擷取視訊長度,視訊開始播放,暫停播放和播放結束,下面來看下如何通過JavaScript來監聽擷取視訊的這幾種狀态。

(1)html頁面視訊标簽大體如下

<video id="video" controls="controls">
    <source type="video/mp4" src="mi.mp4">
</video>      

(2)視訊加載後擷取視訊的長度

<script>
    var elevideo = document.getElementById("video");
    elevideo.addEventListener(‘loadedmetadata‘, function () { //加載資料
        //視訊的總長度
        console.log(elevideo.duration);
    });
</script>      

(3)視訊開始播放

<script>
    var elevideo = document.getElementById("video");
    elevideo.addEventListener(‘play‘, function () { //播放開始執行的函數
        console.log("開始播放");
    });
</script>      

(4) 視訊正在播放中

<script>
    var elevideo = document.getElementById("video");
    elevideo.addEventListener(‘playing‘, function () { //播放中
       console.log("播放中");
    });
</script>      

(5)視訊加載中

<script>
    var elevideo = document.getElementById("video");
    elevideo.addEventListener(‘waiting‘, function () { //加載
        console.log("加載中");
    });
</script>      

(6)視訊暫停播放

<script>
    var elevideo = document.getElementById("video");
    elevideo.addEventListener(‘pause‘, function () { //暫停開始執行的函數
        console.log("暫停播放");
    });
</script>      

(7)視訊結束播放

<script>
    var elevideo = document.getElementById("video");
    elevideo.addEventListener(‘ended‘, function () { //結束
        console.log("播放結束");
    }, false);
</script>      
JS判斷視訊Video的播放、暫停、結束完成及擷取長度事件監聽處理

繼續閱讀