记录视频真正播放时长

今年大连特别热,睡不着写一篇博客吧。第一次写,大家勿喷。

记录视频真正播放时长,需要考虑如下几个问题:

  • 点击播放才开始计时
  • 视频处于缓冲状态,停止计时
  • 拖拽视频长度不能计时
  • 视频暂停不能计时

实现这个功能,需要了解Video 的几个事件:

  • playing 当音频/视频在已因缓冲而暂停或停止后已就绪时(包括点击播放后播放和缓冲后播放)
  • waiting 当视频由于需要缓冲下一帧而停止(视频缓冲时触发)
  • pause 当音频/视频已暂停或播放结束时

下面是实现功能的code

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 
 4 <head>
 5     <meta charset="UTF-8">
 6     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 7     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 8     <title>Document</title>
 9 </head>
10 
11 <body>
12     <video src=""></video>
13     <video id="video1" width="420" style="margin-top:15px;" controls="" autoplay="" name="media">
14         <source src="http://www.w3school.com.cn/example/html5/mov_bbb.mp4?t=7" type="video/mp4" /> Your browser does not support HTML5 video.
15     </video>
16     <script>
17         var vedio = document.getElementById("video1");
18         var timespan = 0;
19         var isCountTime = false;
20         vedio.onplaying = function () {
21             isCountTime = true;
22             console.log("playing");
23         }
24         vedio.onwaiting = function () {
25             isCountTime = false;
26             console.log("waiting");
27         }
28         vedio.onpause = function () {
29             isCountTime = false;
30             console.log("pasused");
31         }
32         setInterval(function () {
33             if (isCountTime) {
34                 timespan += 0.1;
35                 console.log(timespan);
36             }
37         }, 100);
38     </script>
39 </body>
40 
41 </html>

猜你喜欢

转载自www.cnblogs.com/xnguo/p/9416499.html
今日推荐