在html5视频播放事件上捕获视频源
capturing video source on html5 video play event
我的目标是在播放视频时获得视频的src
。
我目前有以下代码:
<!doctype html>
<html>
<head>
</head>
<body>
<video width="320" height="240" controls>
<source src="video.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
<script type='text/javascript'>
var vid = document.getElementsByTagName('video')[0];
vid.addEventListener('play', function() {
console.log('video source:',this.src);
}, false);
</script>
</body>
</html>
所以我的第一个问题是this.src
不起作用;它输出一个空字符串。我认为这是因为src
实际上不是video
标签的一部分,而是在source
子标签中。
然后我尝试在我的功能中添加以下内容:
for (var p in this) {
console.log(p, this[p]);
}
我这样做是为了看看是否能找到引用它的属性……但我没有看到任何直接引用它的内容?那么,获取源的唯一方法真的是获取子source
节点吗?如果是…那么。。。
我的第二个问题是,如何确定哪个src
属性实际用于播放视频?IOW如果video.mp4
真的被用来播放视频,我想知道这个值,但如果video.ogg
真的被用于播放视频,那么我想知道那个值。
您可以尝试以下方式:
var vid = document.getElementsByTagName('video')[0];
vid.addEventListener('play', function() {
console.log('video source:',this.currentSrc);
}, false);
看起来媒体元素有一个currentSrc
属性来获取所选媒体文件。
HTML5视频元素已经有了事件,所以不需要添加监听器。我就是这么做的。
var myVid = document.getElementById('videoId');
if(myVid != null)//if possibility of no video loaded in DOM
{
myVid.onplay = function () {
console.log('video source: ' + myVid.currentSrc);
};
}
相关文章:
- Mozilla没有;t在附加视频src后触发视频后台事件
- Facebook嵌入视频事件
- ReactJS:如何使用react正确播放带有onClick事件的html5视频
- 如何在HTML5视频中获得寻找事件的起点
- iOS/HTML5上的视频相关事件跟踪
- HTML5视频readyState与事件侦听器
- 使用Chrome扩展内容脚本检测youtube视频事件
- iOS上未触发HTML5视频事件
- JQuery 收听视频事件
- 在角度控制器中捕获html5视频事件
- YouTube iFrame API:设置原点中断视频事件+VEVO不't工作-2015年12月
- Youtube视频事件未启动[在本地测试或以其他方式测试时]
- 捕获和处理HTML5视频事件
- 有没有一种方法可以跟踪嵌入facebook墙上的视频事件
- 视频事件的Silverlight播放器-谷歌Chrome扩展(JavaScript)
- 视频事件登录chrome扩展
- bootstrap模态中的视频事件
- Iframe youtube api视频事件设置
- Chrome 33.0.1750.154 中的 HTML5/Javascript 视频事件行为
- 如何将随机、连续的视频自动播放添加到现有的 onClick 视频事件中