1

我有个问题。进度条填满的速度比以文件结尾的视频快。进度条已满,视频尚未完成。

$('.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);
        }
    }
});

任何帮助将不胜感激。

4

2 回答 2

5
var progress = Math.floor(video.currentTime) / Math.floor(video.duration);
controls.progress[0].style.width = Math.floor(progress * controls.total.width()) + "px";
于 2012-09-19T05:37:37.797 回答
4

你也可以做下一个:

var fWidth = (id.get(0).currentTime / id.get(0).duration) * (CanvasWidth);

其中 CanvasWidth= 画布长度,在文件播放完毕之前填充。在你的情况下:

var fWidth = (id.get(0).currentTime / id.get(0).duration) * (300);
于 2012-09-20T13:20:19.940 回答