html5 audio:改变currentTime触发多个可播放事件
html5 audio: changing currentTime fires multiple canplay events
我需要更改HTML5音频元素的偏移时间。我写了一个函数来处理canplay事件并改变currentTime属性。
然而,似乎改变currentTime属性触发事件,因此它在循环中继续进行。当我注释掉currentTime变化时,它正常工作(即事件只触发一次)。
正确的做法是什么?这种行为(至少)出现在Firefox和Chrome中。结果,音乐不能正常播放
<audio id="current" src="http://www.music.helsinki.fi/tmt/opetus/uusmedia/esim/a2002011001-e02.wav" controls
start="1000" end="2000">
</audio>
<script>
$('audio').bind('canplay', function(event) {
alert("fire!");
event.target.currentTime = 0.5;
});
</script>
也可以在jsfiddle上检查
实际上,它似乎与加载元数据事件一起工作,但每个人都建议canplay更好,与更多浏览器兼容
您可以使用。one而不是。bind,以便仅在第一次侦听它
$('audio').one('canplay', function(event) {
console.log("fire!");
event.target.currentTime = 0.5;
});
相关文章:
- ReactJS:如何使用react正确播放带有onClick事件的html5视频
- YouTube播放器API全屏事件
- 如何将查找事件发送到嵌入了 SWFObject 2.2 的播放器
- 如何在网站上的嵌入式黑莓媒体播放器上跟踪播放和暂停事件
- 将Backbone事件与HTML5视频播放事件结合使用
- 在点击和加载事件时播放暂停背景音频
- 在html5视频播放事件上捕获视频源
- HTML5+Javascript音频在音频播放的特定时间触发事件
- 在单击时暂停并播放 JavaScript 滑块事件
- 视频播放事件中的 Angular 2 路绑定不起作用
- Internet Explorer 10:<音频>“播放”事件处理程序仅发生一次
- 在 html5 视频标签中播放事件
- IE9 HTML5 视频“播放”事件在第二次播放时未触发
- HTML5 视频 - 播放事件未触发
- 声音管理器2播放事件配置不起作用
- Vimeo播放事件侦听器在单击“播放”按钮之前启动
- 播放事件将在videojs中无限循环
- 音频元素拒绝触发“播放”事件
- html5 audio:改变currentTime触发多个可播放事件
- 检测播放事件在youtube通过MediaElement.js包装