使用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 相关文章推荐
jquery不会自动回收xmlHttpRequest对象 导致了内存溢出
Jun 18 Javascript
jquery iframe操作详细解析
Nov 20 Javascript
页面实时更新时间的JS实例代码
Dec 18 Javascript
浅析jquery的js图表组件highcharts
Mar 06 Javascript
JS动态增删表格行的方法
Mar 03 Javascript
AngularJS实用开发技巧(推荐)
Jul 13 Javascript
JavaScript中this的用法及this在不同应用场景的作用解析
Apr 13 Javascript
JS奇技之利用scroll来监听resize详解
Jun 15 Javascript
使用JS组件实现带ToolTip验证框的实例代码
Aug 23 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
Nov 22 Javascript
浅谈小程序globalData的那些事儿
Nov 01 Javascript
基于原生js实现判断元素是否有指定class名
Jul 11 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借助phpmailer发送邮件
2015/05/11 PHP
Laravel多域名下字段验证的方法
2019/04/04 PHP
用PHP做了一个领取优惠券活动的示例代码
2019/07/05 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
2019/10/10 PHP
JavaScript 未结束的字符串常量常见解决方法
2010/01/24 Javascript
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
jquery无限级联下拉菜单简单实例演示
2015/11/23 Javascript
深入浅析AngularJS和DataModel
2016/02/16 Javascript
详解Jquery实现ready和bind事件
2016/04/14 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
2016/11/10 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
使用BootStrap建立响应式网页——通栏轮播图(carousel)
2016/12/21 Javascript
Canvas 绘制粒子动画背景
2017/02/15 Javascript
JS检测window.open打开的窗口是否关闭
2017/06/25 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
vue-cli3全面配置详解
2018/11/14 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
layer.alert自定义关闭回调事件的方法
2019/09/27 Javascript
vue实现简单全选和反选功能
2020/09/15 Javascript
如何在现代JavaScript中编写异步任务
2021/01/31 Javascript
python嵌套函数使用外部函数变量的方法(Python2和Python3)
2016/01/31 Python
基于python的七种经典排序算法(推荐)
2016/12/08 Python
matplotlib中legend位置调整解析
2017/12/19 Python
python实现换位加密算法的示例
2018/10/14 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
Python3 导入上级目录中的模块实例
2019/02/16 Python
Python识别验证码的实现示例
2020/09/30 Python
法国房车租赁网站:Yescapa
2019/08/26 全球购物
Java中会存在内存泄漏吗,请简单描述
2016/12/22 面试题
餐厅考勤管理制度
2014/01/28 职场文书
金融学专业大学生职业生涯规划
2014/03/07 职场文书
《将心比心》教学反思
2014/04/08 职场文书
2014年党员自我评议对照检查材料
2014/09/20 职场文书
地球上的星星观后感
2015/06/02 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书
Python Django 后台管理之后台模型属性详解
2021/04/25 Python