当我在网页中使用视频元素时,视频数据源来自其他网站。如果网络状况良好,它将从该网站获取视频数据,如果您想让视频流畅播放,则视频的缓冲数据video.buffered.end(0)-video.buffered.start(0)
必须长于当前时间video.currentTime
, video.and我想知道那里存在这样一个数字缓冲数据,减去视频的currentTime`,可以使视频流畅播放。
答案 0 :(得分:0)
一般来说,数字不是退出,但你可以假设一个数字,如3,5等,当缓冲时间减去视频的当前时间大于3或5时,视频将顺利播放,否则,视频将处于缓冲阶段,并且它会摇晃,播放不顺畅。代码如下:
if(window.video.buffered.length !== 0){
// assume the user have not use the progress bar to control the play progress of the video, so there is only an element in buffered array(object)
var bufferTime = window.video.buffered.end(0) - window.video.buffered.start(0);
var currentTime = window.video.currentTime;
// another number is OK;
if(bufferTime - currentTime < 2){
video.dispatchEvent(bufferingEvent);
// write capture event function;
}
}