我正在尝试将秒转换为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);
我从https://stackoverflow.com/a/26206645/791022得到了这个数学示例
最佳答案
由于audioCurrentTime
不是整数,因此(audioCurrentTime - minutes * 60)
也不会是整数,因此您最终得到的字符串如"0326.4593684"
。取其中的最后两个字符,您得到05:84
。
您可以先截断audioCurrentTime
:
var seconds = "0" + (Math.floor(audioCurrentTime) - minutes * 60);
%
(模)运算符也很好:var seconds = "0" + Math.floor(audioCurrentTime % 60);