我正在尝试将秒转换为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);
得到了这个数学例子
答案 0 :(得分:2)
由于audioCurrentTime
不是一个完整的数字,(audioCurrentTime - minutes * 60)
也不是一个整数,您最终会得到一个像"0326.4593684"
这样的字符串。取最后两个字符,你得到05:84
。
您可以先截断audioCurrentTime
:
var seconds = "0" + (Math.floor(audioCurrentTime) - minutes * 60);
%
(模数)运算符也很不错:
var seconds = "0" + Math.floor(audioCurrentTime % 60);
答案 1 :(得分:0)
你错过了Math.floor
几秒钟的电话,并获得了它的最后两位数字,即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);