使用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 相关文章推荐
javascript 节点排序 2
Jan 31 Javascript
JavaScript常用对象的方法和属性小结
Jan 24 Javascript
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
Sep 29 Javascript
点击标签切换和自动切换DIV选项卡
Aug 10 Javascript
上传图片js判断图片尺寸和格式兼容IE
Sep 01 Javascript
AngularJS基础 ng-keydown 指令简单示例
Aug 02 Javascript
基于jquery日历价格、库存等设置插件
Jul 05 jQuery
vue.js异步上传文件前后端实现代码
Aug 22 Javascript
JavaScript fetch接口案例解析
Aug 30 Javascript
从零开始在NPM上发布一个Vue组件的方法步骤
Dec 20 Javascript
详解Vue中使用插槽(slot)、聚类插槽
Apr 12 Javascript
JS运算符优先级与表达式示例详解
Sep 04 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
[FAQ]PHP中的一些常识:类篇
2006/10/09 PHP
为PHP5.4开启Zend OPCode缓存
2014/12/26 PHP
php使用递归函数实现数字累加的方法
2015/03/16 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
2015/06/23 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
Javascript计算时间差的函数分享
2011/07/04 Javascript
window.onload和$(function(){})的区别介绍
2013/10/30 Javascript
用js设置下拉框为只读的小技巧
2014/04/10 Javascript
使用jquery制作弹出框效果
2015/04/03 Javascript
JavaScript图像延迟加载库Echo.js
2016/04/05 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
2017/02/16 Javascript
jquery实现手机端单店铺购物车结算删除功能
2017/02/22 Javascript
js实现下一页页码效果
2017/03/07 Javascript
nodejs中向HTTP响应传送进程的输出
2017/03/19 NodeJs
vue2.0父子组件间通信的实现方法
2017/04/19 Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
2017/07/13 Javascript
浅析vue中的MVVM实现原理
2019/03/04 Javascript
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
python开发之文件操作用法实例
2015/11/13 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
2015/12/25 Python
Python实现GUI学生信息管理系统
2020/04/05 Python
django 通过url实现简单的权限控制的例子
2019/08/16 Python
什么是Python中的匿名函数
2020/06/02 Python
Python如何向SQLServer存储二进制图片
2020/06/08 Python
selenium如何定位span元素的实现
2021/01/13 Python
深入浅析css3 中display box使用方法
2015/11/25 HTML / CSS
印度首选时尚目的地:Reliance Trends
2018/01/17 全球购物
北美最大的手工艺品零售商之一:Michaels Stores
2019/02/27 全球购物
降消项目实施方案
2014/03/30 职场文书
高三上学期学习自我评价
2014/04/23 职场文书
计算机专业自荐信范文
2014/05/28 职场文书
大学生上课迟到检讨书
2014/10/15 职场文书
创业计划书之冷饮店
2019/09/27 职场文书
在Python中如何使用yield
2021/06/07 Python
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android