我创造了一个弗兰肯斯坦音频播放器,并需要一点帮助,在轨道的时间。我现在有了,所以它从0 ->计数,不管跟踪时间是多少,以秒为单位。我似乎想不出如何将这些秒转换为mins:secs。
我是新的时间/转换与JS,所以任何帮助都是非常感谢的!
HTML
<audio src="" id="player"
ontimeupdate="document.getElementById('tracktime').innerHTML = Math.floor(this.currentTime) + ' ' + Math.floor(this.duration);">\
</audio>
<span id="tracktime">0 0:00</span>代码更新
好的,我现在有了,所以它只是显示分钟为个位数(即: 1:00 = 1,2:00 = 2,3:00=3等等)
我需要它显示为3位数,即: 1:00 = 1:00,2:00 = 2:00,等等。
这里是我当前的音频标签:
<audio src="http://dosh.dk/bb/track.mp3" id="player" ontimeupdate="document.getElementById('tracktime').innerHTML = Math.floor(this.currentTime / 60) + ' ' + Math.floor(this.duration / 60);">
<script>
var minutes = Math.floor(time / 60);
var seconds = time - minutes * 60;
var hours = Math.floor(time / 3600);
time = time - hours * 3600;
function str_pad_left(string,pad,length) {
return (new Array(length+1).join(pad)+string).slice(-length);
}
</script>
</audio> 我只是不能把秒连到会议记录上。
发布于 2015-07-09 12:59:27
想明白了,只是需要重新格式化..。
<div class="scrub-bar">
<div class="progress"></div>
<div class="time current">0:00</div>
<div class="time duration">0:00</div>
</div>JS
//var audio = link to my audio file
audioplayer.addEventListener("ended", replay, false);
audioplayer.addEventListener("timeupdate", timeUpdate, false);
function reskinTime(secs, format) {
var hr = Math.floor(secs / 3600);
var min = Math.floor((secs - (hr * 3600)) / 60);
var sec = Math.floor(secs - (hr * 3600) - (min * 60));
if (sec < 10) {
sec = "0" + sec;
}
return min + ':' + sec;
}
function timeUpdate() {
playPercent = (audioplayer.currentTime / duration) * 100;
playhead.style.width = playPercent + "%";
timer.innerHTML = reskinTime(audioplayer.currentTime.toString());
}发布于 2020-05-06 11:33:37
在CMS Effcore中,我们应用了以下简单而巧妙的解决方案:
function formatTime(time) {
var h = Math.floor(time / 3600);
var m = ('0' + Math.floor(time / 60 % 60)).slice(-2);
var s = ('0' + Math.floor(time % 60)).slice(-2);
return h + ':' + m + ':' + s;
}https://stackoverflow.com/questions/31303971
复制相似问题