video等待缓存一会在自动播放怎么设置

t=0;
if(v.buffered.end(0)){
   t++;
}
if(t>5){
 v.play()
}

没啥效果啊.是不是用错了

阅读 5.9k
5 个回答
window.setTimeout(fucntion(){
    v.play();
},3000);

延时3秒?

video标签有autoplay,你为什么不用呢?

新手上路,请多包涵

progress事件中中检查v.buffered.end(0)的值 buffered.end(0)的单位是秒

试试这个:

var vid = document.getElementById('video'),
    pause_at = 0,
    play_buffered_second = 30;
vid.addEventListener('pause', function(){
    pause_at = vid.buffered.end(vid.buffered.length - 1);
});
vid.addEventListener('progress', function(){
    if( vid.buffered.length ) {
        var buffered_end = vid.buffered.end(vid.buffered.length - 1);
        if( buffered_end - pause_at > play_buffered_second || buffered_end === vid.duration ) vid.play();
    }
}, false);

原生不是有个“canplaythrough”事件么?不行可以试试。

参考

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题