使用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 相关文章推荐
JS BASE64编码 window.atob(), window.btoa()
Mar 09 Javascript
网页javascript精华代码集
Jan 24 Javascript
用document.documentElement取代document.body的原因分析
Nov 12 Javascript
在多个页面使用同一个HTML片段的代码
Mar 04 Javascript
jquery中通过过滤器获取表单元素的实现代码
Jul 05 Javascript
JQuery中基础过滤选择器用法实例分析
May 18 Javascript
深入浅析javascript立即执行函数
Oct 23 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
Jan 13 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
Jan 23 Javascript
JavaScript浮点数及运算精度调整详解
Oct 21 Javascript
jQuery上传多张图片带进度条样式(DEMO)
Mar 02 Javascript
利用npm 安装删除模块的方法
May 15 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求圆周率的简单实现方法
2016/05/30 PHP
PHP的mysqli_stmt_init()函数讲解
2019/01/24 PHP
php使用curl伪造浏览器访问操作示例
2019/09/30 PHP
一个js拖拽的效果类和dom-drag.js浅析
2010/07/17 Javascript
jquery动态添加删除div 具体实现
2013/07/20 Javascript
百度地图自定义控件分享
2015/03/04 Javascript
jQuery实现自动调整字体大小的方法
2015/06/15 Javascript
js识别uc浏览器的代码
2015/11/06 Javascript
简介EasyUI datagrid editor combogrid搜索框的实现
2016/04/01 Javascript
Javascript打印局部页面实例
2016/06/21 Javascript
JS使用cookie设置样式的方法
2016/06/30 Javascript
JavaScript使用forEach()与jQuery使用each遍历数组时return false 的区别
2016/08/26 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
2016/08/31 Javascript
Vue.js基础知识小结
2017/01/13 Javascript
NodeJS实现视频转码的示例代码
2017/11/18 NodeJs
如何对react hooks进行单元测试的方法
2019/08/14 Javascript
JavaScript实现简单随机点名器
2019/11/21 Javascript
Preload基础使用方法详解
2020/02/03 Javascript
JavaScript函数Call、Apply原理实例解析
2020/02/17 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
Python中用startswith()函数判断字符串开头的教程
2015/04/07 Python
利用python发送和接收邮件
2016/09/27 Python
python2.7到3.x迁移指南
2018/02/01 Python
Python异常处理知识点总结
2019/02/18 Python
django模板结构优化的方法
2019/02/28 Python
python频繁写入文件时提速的方法
2019/06/26 Python
处理python中多线程与多进程中的数据共享问题
2019/07/28 Python
python如何基于redis实现ip代理池
2020/01/17 Python
使用tensorflow进行音乐类型的分类
2020/08/14 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
html5使用canvas压缩图片的示例代码
2018/09/11 HTML / CSS
加拿大女包品牌:Matt & Nat
2017/05/12 全球购物
Nike瑞士官网:Nike CH
2021/01/18 全球购物
Prototype是怎么扩展DOM的
2014/10/01 面试题
计算机求职信
2014/07/02 职场文书
2015年市场营销工作总结
2015/07/23 职场文书