HTML5视频currentTime在Chrome中未更新

时间:2019-06-06 10:45:05

标签: javascript html google-chrome html5-video

在Chrome中,由于某种原因,在页面中,如果我为currentTime标记设置了<video id="player" preload="metadata" playsinline>,它就不会更新。例如,如果我设置了document.getElementById('player').currentTime = 5,它就不会更新。从0开始播放。

我在另一个页面中添加了相同的代码,但是在Chrome中没有任何问题,它运行正常。在Firefox中,两个页面都可以正常工作。

仅供参考,我正在尝试使用自定义视频控件并设置当前时间来搜索视频。只有在这种情况下,它才能起作用。

我不知道发生了什么。请提供任何建议。

1 个答案:

答案 0 :(得分:0)

您应该仅在设置.currentTime之后加载视频。

尝试一下:

let player = document.getElementById('player');
preload(player, 5);
function preload(elem, time){
 elem.setAttribute('preload', 'auto');
 elem.addEventListener('canplaythrough', setCurrentTime);
 function setCurrentTime(){
 elem.currentTime  = time;
 elem.setAttribute('preload','none');
 elem.removeEventListener('canplaythrough', setCurrentTime);
 }
}