html5 获取 00:00 格式的音频持续时间?

html5 get audio duration in 00:00 format?

我正在尝试以 00:00 格式获取 HTML5 音频标签的持续时间,但我不明白为什么我的代码以这种格式获取持续时间:0:00。所以,少了一位数字!

这是我当前的代码:

$(audio).bind('timeupdate', function(){


  var minutes = parseInt(audio.duration / 60, 10);
  var seconds = parseInt(audio.duration % 60);


  $('.Audio_durationTime').text(minutes + ':' + seconds);



    /////Passed time////
    var mins = Math.floor(audio.currentTime / 60);
    if (mins < 10) {
      mins = '0' + String(mins);
    }
    var secs = Math.floor(audio.currentTime % 60);
    if (secs < 10) {
      secs = '0' + String(secs);
    }

    $('.Audio_passedTime').text(mins + ':' + secs);

});

和工作 fiddle:

http://jsfiddle.net/8cpwv2mf/6/

有人可以就此问题提出建议吗?

提前致谢。

如果持续时间的分钟数小于 10,您可以添加一个零:

if (minutes < 10) {
    minutes += "0";
}
$('.Audio_durationTime').text(minutes + ':' + seconds);

已更新fiddle:

http://jsfiddle.net/8cpwv2mf/7/

您有将时间转换为 00:00 格式的代码,但您只将它用于当前时间。把它变成一个函数并同时用于两者。

var convertTime = function(time)
{    
    var mins = Math.floor(time / 60);
    if (mins < 10) {
      mins = '0' + String(mins);
    }
    var secs = Math.floor(time % 60);
    if (secs < 10) {
      secs = '0' + String(secs);
    }

    return mins + ':' + secs;
}

$('.Audio_durationTime').text(convertTime(audio.duration));
$('.Audio_passedTime').text(convertTime(audio.currentTime));