2

我有以下代码创建一个 html5 音频元素并在其时间更新时设置一个侦听器。音频在所有浏览器中都可以正常播放,除了 ontimeupdate 功能在 Chrome 中永远不会触发,包括 Android 上的 Chrome。

var audioElement = document.createElement('audio');
//
//set audio sources...
//
audioElement.ontimeupdate = function() {
  console.log('time update');
}

有没有办法让它在 Chrome 中工作?或者也许可以使用替代事件?

4

3 回答 3

0

我总是使用W3C 视频测试页面来查看事件何时以及是否正确触发。这表明这些事件在 Android Chrome、Chrome Beta 和我拥有的内部最新版本上都很好。

您是否有更多信息或演示页面可供测试?

于 2013-08-05T09:51:02.273 回答
0

使用不当

<script>
video.ontimeupdate=function(){

};
</script>

我建议你使用这个代码

<script>
video.addEventListener("timeupdate",function(){

});
</script>

它将在所有受支持的 html5 浏览器上正常工作

于 2013-08-19T17:19:27.337 回答
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 事件现在按预期触发。我没有使用足够的音频/视频来知道这是否是正确的做法,很高兴得到纠正。

于 2018-12-07T11:07:01.620 回答