我有以下代码创建一个html5音频元素,并为其时间更新时设置一个监听器。音频在所有浏览器中都可以正常播放,除了ontimeupdate功能从不在Chrome中触发,包括Android上的Chrome。
var audioElement = document.createElement('audio');
//
//set audio sources...
//
audioElement.ontimeupdate = function() {
console.log('time update');
}
有没有办法让它在Chrome中运行?或者可能是另一个使用的事件?
答案 0 :(得分:0)
我总是使用W3C Video test page查看事件何时以及是否正确触发。并且它表明这些活动在Android Chrome,Chrome Beta以及我拥有的内部最新版本上都很好。
您是否有更多信息或演示页面可供测试?
答案 1 :(得分:0)
使用
是不合适的<script>
video.ontimeupdate=function(){
};
</script>
我建议您使用此代码
<script>
video.addEventListener("timeupdate",function(){
});
</script>
它可以在所有支持的html5浏览器上正常运行
答案 2 :(得分:0)
我知道这是前一段时间,但是我在正在构建的网络点唱机项目中遇到了这个问题...
var player = $("#player")[0];
player.addEventListener('timeupdate', function() {
var songProgress = toHHMMSS( player.currentTime );
$('#time-progress').text(songProgress);
});
...在播放文件(Chrome)时永远不会触发。为了解决这个问题,我添加了...
current-time="{{hostCurrentTime::timeupdate}}"
...到我的音频元素(因此HTML现在可以读取)...
<audio id="player" src="" current-time="{{hostCurrentTime::timeupdate}}"></audio>
现在将按预期触发timeupdate事件。我还没有足够的音频/视频来知道这是否是正确的事情,所以很高兴得到纠正。