我目前有一个运行良好的音频播放器,可以显示当前时间占总时间的比例。
<audio id="audioPlayer"
preload="true"
ontimeupdate="document.getElementById('tracktime').innerHTML = Math.floor(this.currentTime) + ' / ' + Math.floor(this.duration);">
<source src="oh-my.mp3">
</audio>
<div id="wrapper">
<!--Audio Player Interface-->
<div id="audioplayer">
<button id="pButton" class="play" onclick="document.getElementById('audioplayer').play();"></button>
<div id="timeline">
<div class="progress" id="progress"></div>
<div id="playhead"></div>
<span id="tracktime">0 / 0</span>
</div>
</div>
</div>
虽然问题是它以秒而不是分钟显示,例如:222/342。我想知道如何将当前时间和总时间转换为分钟,我假设用 math.Floor 起诉某些东西。 链接到我的fiddle.
最佳答案
获取 session 记录:
Math.floor(this.currentTime/60)
我建议创建 formatTime 函数(因为您将至少使用它两次):
function formatTime( time ) {
let minutes = Math.floor( time / 60 )
let timeForSeconds = time - ( minutes * 60 ) // seconds without counted minutes
let seconds = Math.floor( timeForSeconds )
let secondsReadable = seconds > 9 ? seconds : `0${seconds}` // To change 2:2 into 2:02
return `${minutes}:${secondsReadable}`
}
然后你可以交换它:ontimeupdate="document.getElementById('tracktime').innerHTML = formatTime( this.currentTime ) + '/' + formatTime( this.duration );">
关于javascript - 如何将自定义音频播放器的总时间转换为分钟数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59554776/