关闭

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

时间: 2020-04-24阅读: 2948标签: 视频

在日常应用场景中,可能会遇到这么一个情况,需要判断用户是否完整的观看完了一部视频,在这个场景中,和视频相关的事件大体涉及到几个部分,获取视频长度,视频开始播放,暂停播放和播放结束,下面来看下如何通过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>
站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/8793

关闭

js实现截取视频帧图片作为封面预览图

前端需要把视频文件的第一帧图像截取出来,并做为缩略图显示在页面上,这里需要利用HTML5中强大的画布canvas来实现该功能

Web端直接播放 .ts 视频

最近项目中需要前端播放 .ts 格式视频,捣鼓了几天学习到很多知识,也发掘了一种优秀的解决方案,项目中已存储的 .ts 切片数量众多,已经占用了NAS服务器绝大部分的资源,生成的 .m3u8 索引虽然非常小

video.js切换视频源问题

什么要再重新load一下什么替换一下src,没有啥作用,简单粗暴又有效的方法,video的问题,单单替换source的src是不行的,简单明了重新替换整个video标签,将video用js重新替换一遍,更改src

使用 multipart/x-mixed-replace 实现 http 实时视频流

关于实时视频传输,业界已经有非常多成熟方案,分别应用在不同需求场景。本文介绍一种基于 HTTP ,非常简单、易理解的方案,实用性不强,但有助于理解 HTTP 协议。

视频全屏弹幕实现

这个问题如果思路错了就是个死胡同。所以我在找问题的时候趟了很多坑。思路错在我不应该使用视频的全屏,敲黑板!划重点啦!不要使用视频的全屏!(解决了问题的时候才幡然醒悟)

H5视频交互

在uc浏览器和ios微博里面,是不支持视频交互的,暂时没有办法把层级放在视频上方,IOS 必须用click事件点击之后视频才会播放,不支持自动播放 安卓环境下,视频播放会全屏播放,播放完之后不会回到原页面

jsmpeg.js_h5移动端视频自动播放

在移动端使用h5自动的video标签播放视频,设置autoplay属性,在android端部分不支持,全屏播放还存在层级问题,ios10以上版本支持视频自动播放,以下版本不支视频自动播放

DPlayer简单用法

DPlayer 是一个支持弹幕的 HTML5 视频播放器。支持 Bilibili 视频和 danmaku,实时视频(HTTP Live Streaming,M3U8格式)以及 FLV 格式

Bideo.js实现全屏视频背景

想在你的网页首页中全屏播放一段视频吗?而这段视频是作为网页的背景,不影响网页内容的正常浏览。那么我告诉你有一款Javascript库正合你意,它就是Bideo.js。

Web视频格式

网络视频一直都很火。虽然在页面上嵌入 Instagram 和 Youtube 视频非常简单,但是有越来越多的需求 —— 比如许多电子商务的场景 —— 要求定制的视频传输方法。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!