将音频时间转换为 MM:SS

Convert audio time to MM:SS

我正在尝试将秒数转换为 MM:SS,但由于某种原因它没有正确显示。

jQuery('#player-recorded-call').get(0).currentTime;是获取<audio>当前时间位置

例如

audioCurrentTime 被设置为 326.459368 应该是 05:26 (MM:SS) 但由于某些原因它被计算为 05:84 (var dur)

    var audioCurrentTime = jQuery('#player-recorded-call').get(0).currentTime;

    var minutes = "0" + Math.floor(audioCurrentTime / 60);
    var seconds = "0" + (audioCurrentTime - minutes * 60);
    var dur = minutes.substr(-2) + ":" + seconds.substr(-2);

    $(".criteria-duration").html(dur);

我从

那里得到了这个数学例子

因为 audioCurrentTime 不是整数,所以 (audioCurrentTime - minutes * 60) 也不是整数,你最终会得到一个像 "0326.4593684" 这样的字符串。取最后两个字符,你得到 05:84.

你可以先截断audioCurrentTime:

var seconds = "0" + (Math.floor(audioCurrentTime) - minutes * 60);

%(取模)运算符也很不错:

var seconds = "0" + Math.floor(audioCurrentTime % 60);

您错过了 Math.floor 秒的调用并获取它的最后 2 位数字,即 84。

更新后的代码应为:

var audioCurrentTime = jQuery('#player-recorded-call').get(0).currentTime;

var minutes = "0" + Math.floor(audioCurrentTime / 60);
var seconds = "0" +  Math.floor(audioCurrentTime - minutes * 60);
var dur = minutes.substr(-2) + ":" + seconds.substr(-2);

$(".criteria-duration").html(dur);