Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML5预加载视频(进度条填充速度快于视频以文件结尾)_Javascript_Jquery_Html - Fatal编程技术网

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像素上创建。。。为什么?