JS判断视频Video的播放暂停结束完成及获取长度事件监听处理

Posted 王永杰的网络日志

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

video播放视频以及相关事件

$(function(){
 
    playVideo();
 
    /*视频播放状态*/
    $(‘.news_video‘).bind(‘play‘, function () {
        alert("正在播放视频");
    });
 
    /*视频结束或错误*/
    $(‘.news_video‘).bind(‘error ended‘, function(){
        alert("播放视频结束");
    })
 
    /*视频暂停*/
    $(‘.news_video‘).bind(‘pause‘, function () {
        alert("暂停");
    });
})
 
//播放视频
function playVideo(){
    var video = $(".news_video");
    if(video.length>0){
        video[0].play();
    }
}

  

以上是关于JS判断视频Video的播放暂停结束完成及获取长度事件监听处理的主要内容,如果未能解决你的问题,请参考以下文章

获取正在播放的 html5 视频的暂停/突然结束时间

html5的video标签播放视频的时候如何设置停止播放

用js控制video的src

video播放视频以及相关事件

jquery 有3段video视频,当video结束的时候循环动态更换video的src

小程序-video/视频播放---属性及部分函数Copy