使用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自动触发事件的方法
Jun 13 Javascript
浅谈JavaScript中的string拥有方法的原因
Aug 28 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
Dec 02 Javascript
jQuery Mobile开发中日期插件Mobiscroll使用说明
Mar 02 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
Jun 08 Javascript
AngularJS入门教程之数据绑定用法示例
Nov 01 Javascript
JavaScript实现垂直向上无缝滚动特效代码
Nov 23 Javascript
vue跨域解决方法
Oct 15 Javascript
详解vue-cli 脚手架 安装
Apr 16 Javascript
微信小程序使用npm包的方法步骤
Aug 13 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
Mar 10 Javascript
react使用CSS实现react动画功能示例
May 18 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 file_exists无效的解决办法
2013/06/26 PHP
php Session存储到Redis的方法
2013/11/04 PHP
PHP单链表的实现代码
2016/07/05 PHP
php封装的smartyBC类完整实例
2016/10/19 PHP
使用javascipt---实现二分查找法
2013/04/10 Javascript
jQuery实现简单下拉导航效果
2015/09/07 Javascript
详解JavaScript基本类型和引用类型
2015/12/09 Javascript
JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别
2016/05/31 Javascript
js创建对象几种方式的优缺点对比
2016/09/28 Javascript
AngularJS service之select下拉菜单效果
2017/07/28 Javascript
Vue.js实现网格列表布局转换方法
2017/08/25 Javascript
详解extract-text-webpack-plugin 的使用及安装
2018/06/12 Javascript
微信小程序实现留言板功能
2018/11/02 Javascript
javascrit中undefined和null的区别详解
2019/04/07 Javascript
详解小程序退出页面时清除定时器
2019/04/28 Javascript
Javascript通过控制类名更改样式
2019/05/24 Javascript
js实现开关灯效果
2020/03/30 Javascript
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
vue基础知识--axios合并请求和slot
2020/06/04 Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
2020/09/11 Javascript
使用python Django做网页
2013/11/04 Python
python进行两个表格对比的方法
2018/06/27 Python
Python字典的基本用法实例分析【创建、增加、获取、修改、删除】
2019/03/05 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
Spark处理数据排序问题如何避免OOM
2020/05/21 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
详解使用postMessage解决iframe跨域通信问题
2019/11/01 HTML / CSS
Madewell美德威尔美国官网:美国休闲服饰品牌
2016/11/25 全球购物
英国家喻户晓的折扣商场:TK Maxx
2017/05/26 全球购物
幼师专业求职推荐信
2013/11/08 职场文书
《欢乐的泼水节》教学反思
2014/04/22 职场文书
学习保证书范文
2014/04/30 职场文书
基层工作经验证明样本
2014/11/16 职场文书
2014年反腐倡廉工作总结
2014/12/05 职场文书
pytorch 6 batch_train 批训练操作
2021/05/28 Python
解决Oracle数据库用户密码过期
2022/05/11 Oracle