首页 > 其他分享 >JS判断视频Video的播放、暂停、结束完成及获取长度事件监听处理

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

时间:2023-05-30 09:03:07浏览次数:60  
标签:视频 console elevideo JS getElementById Video 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>

标签:视频,console,elevideo,JS,getElementById,Video,video,播放,监听
From: https://www.cnblogs.com/xiaodongxier/p/js-pan-duan-shi-pinvideo-de-bo-fang-zan-ting-jie-s.

相关文章

  • 读<Wireshark数据包分析实战-第3版>之监听网络线路
    目录混杂模式在集线器链接的网络中嗅探在交换式网路中嗅探混杂模式混杂模式(PromiscuousMode)是指网络设备接口的一种特殊工作模式。当网络接口处于混杂模式下,它可以捕获经过该接口的所有数据包,而不仅仅是发送给自己的数据包。这意味着,无论是单播、广播还是组播数据包,只要通过该......
  • 统计同名数据基于html js
    #1.教程1将数据逐行复制到excell2.新建txt文件,将excell中的全部数据复制到txt文件中3.使用edge打开统计同名数据.html,右击网页打开控制台4.选择txt文件,确认,会在控制台展示结果点击#2.数据示例可以有空格,回车,形式为:名称数量```DN150球铁平插 9DN150*90°球铁双平弯头 1......
  • [NextJS] getStaticProps
    Continue... Ref: Next.js产品级的React框架-中文开发入门教学-编写静态页面属性getStaticProps  为了爬虫,所以这么写。importHeadfrom'next/head'exportdefaultfunctionHome(props){const{datalist}=props;return(<div>......
  • js-01_数组
    数组的常用方法数组常用方法之pushpush是用来在数组的末尾追加一个元素vararr=[1,2,3]//使用push方法追加一个元素在末尾arr.push(4)console.log(arr)//[1,2,3,4]数组常用方法之poppop是用来删除数组末尾的一个元素vararr=[1,2,3]//使......
  • can't not find Node.js binary ''path",make sure Node.js is installed and in your
    vscode中node执行debug报错报错信息如下 思路1:检查node是否安装成功win+R输入cmd  能够正常显示版本号,则证明没有问题,接着换个思路 思路2:根据提示打开图示的'launch.json'文件,在页面补充 runtimeExecutable具体补充什么内容呢?在overflow中找到了nginx中需要补......
  • lifecycle in react.js
    摘抄自reactinaction,seechapter4:直接上图: DEFINITIONMountingistheprocessofReactinsertingyourcomponentsintotherealDOM.Oncedone,yourcomponentis“ready,”andit’softenagoodtimetodothingslikeperformHTTPcallsorreadcookies.......
  • 最常见JS加密保护代码的方法
    当谈到JavaScript(简称JS)代码的保护时,加密是一种常见的策略。加密可以帮助保护你的JS代码,防止未经授权的访问、修改和复制。在本文中,我将向你介绍一些常用的js加密保护方法,并提供一些通俗易懂的示例代码,帮助你入门。压缩和混淆:压缩和混淆是最简单的JS代码保护方法之一。压缩可以减......
  • axios 或 @nestjs/axios 错误地应用 npm config proxy
    npmproxy$npmconfiggetproxyhttp://127.0.0.1:25378/如果你的npm设置了如上代理,那么当请求本地服务时,应该会出现代理错误(通常是502响应):import{HttpService}from'@nestjs/axios';@Injectable()exportclassForwardService{@Inject()privatereadonlyhtt......
  • web基础漏洞-json劫持
    1、定义json劫持,有时也被称为jsonp劫持,或者划分为csrf的一种类型,说的是同一个对象。一般csrf,是借用用户登录后的cookie凭证身份,结果是攻击者伪造提交操作类型的请求,即增删改,而几乎无法获取数据。受害者用户登录目标网站,cookie作为登录凭证,不包含token网站下存在jsonp机制,即允......
  • react native 使用 redux、react-redux、redux-thunk、@reduxjs/toolkit 无脑版
    导入依赖yarnaddreduxreact-reduxredux-thunk@reduxjs/toolkit 这是目录,为以下创建作为参考新建reducer文件counterReducer.jsimport{createSlice}from'@reduxjs/toolkit';constcounterSlice=createSlice({name:'counter',//名字,用途如:state.count......