在javascript中缓冲视频后处理视频

在javascript中缓冲视频后处理视频,javascript,jquery,html5-video,Javascript,Jquery,Html5 Video,准确地说,我需要在缓冲视频后处理我的WEBAPP视频。 通过谷歌搜索,我发现缓冲事件处理程序应该是: video.onwaiting = function(){ $(".buffering").show(); }; buffering元素是一个加载程序,在视频需要缓冲时出现 现在我需要在视频缓冲5秒后处理它,这样我就可以使用$(“buffering”).hide()隐藏我的缓冲 到目前为止,我正在做: video.addEventListener('progress', functio

准确地说,我需要在缓冲视频后处理我的WEBAPP视频。 通过谷歌搜索,我发现缓冲
事件处理程序
应该是:

video.onwaiting = function(){
    $(".buffering").show();
};
buffering
元素是一个加载程序,在视频需要缓冲时出现

现在我需要在视频缓冲5秒后处理它,这样我就可以使用
$(“buffering”).hide()
隐藏我的
缓冲

到目前为止,我正在做:

video.addEventListener('progress', function() {
    var range = 0;
    var bf = this.buffered;
    var time = this.currentTime;

    while(!(bf.start(range) <= time && time <= bf.end(range))) {
        range += 1;
    }
    var loadStartPercentage = bf.start(range) / this.duration;
    var loadEndPercentage = bf.end(range) / this.duration;
    var loadPercentage = loadEndPercentage - loadStartPercentage;
    val = loadPercentage*100;
});
video.addEventListener('progress',function(){
var范围=0;
var bf=这是缓冲的;
var time=此.currentTime;

当(!(bf.start(range)在第一次
progress
事件时,
buffered
返回的时间范围为空。因此请求其开始或结束将抛出IndexSize错误

另外,
TimeRanges.start
TimeRanges.end
的参数是所需时间范围的索引,它不能低于0或高于TimeRanges.length,您可以使用它代替while循环:

video.addEventListener('progress',function(){
var bf=这是缓冲的;
var time=此.currentTime;
如果(!bf.长度){
返回;
}
var loadStartPercentage=bf.start(0)/this.duration;
var loadEndPercentage=bf.end(bf.length-1)/this.duration;
var loadPercentage=loadEndPercentage-loadStartPercentage;
var val=装载百分比*100;
控制台日志(val);
});

在第一次
progress
事件中,
buffered
返回的时间范围为空。因此请求其开始或结束将抛出IndexSize错误

另外,
TimeRanges.start
TimeRanges.end
的参数是所需时间范围的索引,它不能低于0或高于TimeRanges.length,您可以使用它代替while循环:

video.addEventListener('progress',function(){
var bf=这是缓冲的;
var time=此.currentTime;
如果(!bf.长度){
返回;
}
var loadStartPercentage=bf.start(0)/this.duration;
var loadEndPercentage=bf.end(bf.length-1)/this.duration;
var loadPercentage=loadEndPercentage-loadStartPercentage;
var val=装载百分比*100;
控制台日志(val);
});

谢谢。你知道如何找到视频是否被缓冲了5秒左右吗?@akdsfjakls
bf.end(bf.length-1)-bf.start(0)>5
是这样的:
如果((bf.end(bf.length-1)-bf.start(0))>5{$('.buffering').hide();}
谢谢。你知道如何找到视频是否缓冲了5秒左右吗?@akdsfjakls
bf.end(bf.length-1)-bf.start(0)>5
?应该是这样的:
if((bf.end(bf.length-1)-bf.start(0))>5{$('.buffering').hide();