Javascript HTML5预加载视频(进度条填充速度快于视频以文件结尾)
我有个问题。进度条的填充速度快于视频以文件结尾的速度。进度条已满,视频尚未完成Javascript HTML5预加载视频(进度条填充速度快于视频以文件结尾),javascript,jquery,html,Javascript,Jquery,Html,我有个问题。进度条的填充速度快于视频以文件结尾的速度。进度条已满,视频尚未完成 $('.media_audio_player').bind('timeupdate' ,function() { var id = $(this); var idn = 'AudioBar_wrap\+'+this.id.split('rolf')[1]; var canvas = document.getElementById(idn); if (canvas.getContext
$('.media_audio_player').bind('timeupdate' ,function() {
var id = $(this);
var idn = 'AudioBar_wrap\+'+this.id.split('rolf')[1];
var canvas = document.getElementById(idn);
if (canvas.getContext) {
var ctx = canvas.getContext("2d");
var lingrad = ctx.createLinearGradient(0,0,0,150);
var fWidth = (id.get(0).currentTime / id.get(0).duration) * (canvas.clientWidth);
if (fWidth > 0) {
lingrad.addColorStop(0, '#ebbdbd');
lingrad.addColorStop(0.5, '#dd6060');
lingrad.addColorStop(1, '#dc4c4c');
ctx.fillStyle = lingrad;
ctx.fillRect(0, 0, fWidth, 150);
}
}
});
非常感谢您的帮助。您还可以进行下一步:
var progress = Math.floor(video.currentTime) / Math.floor(video.duration);
controls.progress[0].style.width = Math.floor(progress * controls.total.width()) + "px";
var fWidth = (id.get(0).currentTime / id.get(0).duration) * (CanvasWidth);
其中CanvasWidth=长度画布,在文件完成播放之前填充。
就你而言:
var fWidth = (id.get(0).currentTime / id.get(0).duration) * (300);
您还可以进行下一步:
var fWidth = (id.get(0).currentTime / id.get(0).duration) * (CanvasWidth);
其中CanvasWidth=长度画布,在文件完成播放之前填充。
就你而言:
var fWidth = (id.get(0).currentTime / id.get(0).duration) * (300);
谢谢你的回答,但不是正确的。width my canvas=422,但画布被填充时,其长度等于300。当声音播放时,我检查了组件(currentTime、duration和canvas.clientWidth)。好吧,但画得不对。。。为什么?附言:你们可以在这里看到工作脚本()-试着在页面上播放音频文件…宽度我的画布=422,但他在300像素上创建。。。为什么?谢谢你的回答,但不是很有效。width my canvas=422,但画布被填充时,其长度等于300。当声音播放时,我检查了组件(currentTime、duration和canvas.clientWidth)。好吧,但画得不对。。。为什么?附言:你们可以在这里看到工作脚本()-试着在页面上播放音频文件…宽度我的画布=422,但他在300像素上创建。。。为什么?