我为html5视频实现了一个缓冲栏。当我通过浏览器观看它们时,它可以很好地缓存,但是通过Android应用程序也可以正常工作,但缓冲条正在跳跃。
百分比例如为0.10 - > 0.25 - > 0.20 - > 0.30 - > 0.35 - > 0.30等等。由于某种原因看起来像抽搐。
什么可能导致这个问题?
我正在使用共享主机,但即使是退出vps服务器,也是同样的结果,而且只能通过手机的浏览器。手机上的Chrome浏览器或我的应用上的webview会导致相同的结果......
编辑:
正如我所提到的,我不知道是什么导致它在浏览器上工作得很好..但那是我的js:
var startBuffer = function(buffer,myVideo) {
var maxduration = myVideo.duration;
var currentBuffer = myVideo.buffered.end(0);
var percentage = 100 * currentBuffer / maxduration;
$('.'+buffer).css('width', percentage+'%');
if(currentBuffer == maxduration){
clearTimeout()
} else {
setTimeout(function(){startBuffer(buffer,myVideo);}, 100);
}
console.log("maxduration:"+maxduration);
console.log("buffer:"+currentBuffer);
console.log("video:"+buffer);
};
缓冲区和myVideo值来自这段代码:
$('.play').on('click', function () {
var myVideo = $('#' + $(this).data('video-id')).get(0);
var buffer = $(this).data('buffer-id');
if (myVideo.paused) {
$('video').each(function () {
this.pause();
});
myVideo.play();
startBuffer(buffer,myVideo);
}
else {
myVideo.pause();
}
});
那就是我的webview的android代码:
WebView webView = (WebView) getActivity().findViewById(R.id.webView);
WebSettings webSettings = webView.getSettings();
webView.setScrollbarFadingEnabled(false);
webSettings.setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("http://website.com");