使用javascript实现监控视频播放并打印日志


Posted in Javascript onJanuary 05, 2015

最近在做一个项目,要求监控视频的播放事件并能够打印LOG日志,经过一番思索,使用javascript实现了此功能,代码如下:

HTML:

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<title>Multi Source</title>

</head>

<body>

<video src="http://www.w3school.com.cn/i/movie.mp4" controls autoplay></video>

<video src="http://www.w3school.com.cn/i/movie.mp4" controls autoplay></video>

<video src="http://www.w3school.com.cn/i/movie.mp4" controls autoplay></video>

<video src="http://www.w3school.com.cn/i/movie.mp4" controls autoplay></video>

<video src="http://www.w3school.com.cn/i/movie.mp4" controls autoplay></video>

<video src="http://www.w3school.com.cn/i/movie.mp4" controls autoplay></video>

<video src="http://www.w3school.com.cn/i/movie.mp4" controls autoplay></video>

<video src="http://www.w3school.com.cn/i/movie.mp4" controls autoplay></video>

<video src="http://www.w3school.com.cn/i/movie.mp4" controls autoplay></video>

<video src="http://www.w3school.com.cn/i/movie.mp4" controls autoplay></video>

<video src="http://www.w3school.com.cn/i/movie.mp4" controls autoplay></video>

</body>

</html>

JS:

<script type="text/javascript">

window.addEventListener("load",getVideoEvent);

function getVideoEvent(){

var videoes=document.getElementsByTagName("video");

for (var i = 0; i < videoes.length; i++) {

showEventLog("video"+(i+1),videoes[i]);

}

}

function showEventLog(videoNum,Media){

eventTester = function(e){

Media.addEventListener(e,function(){

console.log(videoNum+":"+e);

});

}

eventTester("loadstart");    //客户端开始请求数据

eventTester("progress");    //客户端正在请求数据

eventTester("suspend");    //延迟下载

eventTester("abort");    //客户端主动终止下载(不是因为错误引起),

eventTester("error");    //请求数据时遇到错误

eventTester("stalled");    //网速失速

eventTester("play");    //play()和autoplay开始播放时触发

eventTester("pause");    //pause()触发

eventTester("loadedmetadata");    //成功获取资源长度

eventTester("loadeddata");    //

eventTester("waiting");    //等待数据,并非错误

eventTester("playing");    //开始回放

eventTester("canplay");    //可以播放,但中途可能因为加载而暂停

eventTester("canplaythrough"); //可以播放,歌曲全部加载完毕

eventTester("seeking");    //寻找中

eventTester("seeked");    //寻找完毕

eventTester("timeupdate");    //播放时间改变

eventTester("ended");    //播放结束

eventTester("ratechange");    //播放速率改变

eventTester("durationchange");    //资源长度改变

eventTester("volumechange");    //音量改变

}

</script>

小伙伴们主要看下本文的思路即可,希望对大家能有所帮助

Javascript 相关文章推荐
12个非常有创意的JavaScript小游戏
Mar 18 Javascript
JQury slideToggle闪烁问题及解决办法
Jul 05 Javascript
jquery实现动态改变div宽度和高度
May 08 Javascript
JavaScript闭包实例详解
Jun 03 Javascript
js模拟支付宝密码输入框
Apr 11 Javascript
JS实现小球的弹性碰撞效果
Nov 11 Javascript
vue中引用swiper轮播插件的教程详解
Aug 16 Javascript
一些你可能不熟悉的JS知识点总结
Mar 15 Javascript
JavaScript中this用法学习笔记
Mar 17 Javascript
微信小程序视图控件与bindtap之间的问题的解决
Apr 08 Javascript
layer弹出层自适应高度,垂直水平居中的实现
Sep 16 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
Nov 12 Javascript
jQuery圆形统计图开发实例
Jan 04 #Javascript
jQuery中:selected选择器用法实例
Jan 04 #Javascript
jQuery中:checked选择器用法实例
Jan 04 #Javascript
jQuery中:disabled选择器用法实例
Jan 04 #Javascript
AngularJS中取消对HTML片段转义的方法例子
Jan 04 #Javascript
jQuery中:enabled选择器用法实例
Jan 04 #Javascript
jQuery中:file选择器用法实例
Jan 04 #Javascript
You might like
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
2014/06/25 PHP
typecho插件编写教程(五):核心代码
2015/05/28 PHP
php 类自动载入的方法
2015/06/03 PHP
PHP开发中常用的十个代码样例
2016/02/02 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
php取出数组单个值的方法
2018/03/12 PHP
使用正则替换变量
2007/05/05 Javascript
JavaScript网页制作特殊效果用随机数
2007/05/22 Javascript
动态的创建一个元素createElement及删除一个元素
2014/01/24 Javascript
在Ubuntu上安装最新版本的Node.js
2014/07/14 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
2016/05/16 Javascript
判断是否存在子节点的实现代码
2016/05/18 Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
2016/06/14 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
2017/02/21 Javascript
详解vue模拟加载更多功能(数据追加)
2017/06/23 Javascript
微信小程序下拉刷新界面的实现
2017/09/28 Javascript
详解微信小程序开发用户授权登陆
2019/04/24 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
vue.js中使用微信扫一扫解决invalid signature问题(完美解决)
2020/04/11 Javascript
浅谈Python peewee 使用经验
2017/10/20 Python
Python3中类、模块、错误与异常、文件的简易教程
2017/11/20 Python
Python实现简单的用户交互方法详解
2018/09/25 Python
浅谈Python大神都是这样处理XML文件的
2019/05/31 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
2020/08/17 Python
美国专业消费电子及摄影器材网站:B&H Photo Video
2019/12/18 全球购物
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
软件工程师面试题
2012/06/25 面试题
西式婚礼证婚词
2014/01/12 职场文书
小学教师国培感言
2014/02/08 职场文书
公司活动方案范文
2014/03/06 职场文书
安全检查汇报材料
2014/12/26 职场文书
2015年清明节活动总结
2015/02/09 职场文书
创业计划书之闲置物品置换中心
2019/12/25 职场文书
windows10声卡驱动怎么安装?win10声卡驱动安装操作步骤教程
2022/08/05 数码科技