您如何将当前时间/总时间添加到自定义音频播放器?

问题描述 投票:0回答:1

我正在尝试添加当前时间/总时间元素。看起来像01:11/03:00。到目前为止,我有进度条和播放暂停按钮。这些是我的变量:

var music = document.getElementById('audioPlayer'); // id for audio element
var duration; // Duration of audio clip
var pButton = document.getElementById('pButton'); // play button
var playhead = document.getElementById('playhead'); // playhead
var timeline = document.getElementById('timeline'); // timeline

// timeline width adjusted for playhead
var timelineWidth = timeline.offsetWidth - playhead.offsetWidth;

这是我的音频播放器元素:

  <audio id="audioPlayer" preload="true" ontimeupdate="initProgressBar()">
        <source src="oh-my.mp3">      
    </audio>
    <div id="wrapper">
        <!--Audio Player Interface-->
        <div id="audioplayer">
            <button id="pButton" class="play"></button>
            <div id="timeline">
                <div class="progress" id="progress"></div>
                <div id="playhead"></div>


            </div>
        </div>
    </div>

链接到我的fiddle

javascript html current-time
1个回答
0
投票

[在您的小提琴中,我补充说:<span id="tracktime">0:00 / 0:00</span><div id="audioplayer">元素(界面)中。

我也将ontimeupdate元素的<audio>功能替换为:ontimeupdate="updateTracktime()"函数updateTracktime()的定义如下:

function updateTracktime(){
  let audioPlayer = document.getElementById("audioPlayer");
  var counter = Math.round(Math.floor(audioPlayer.currentTime)/60)+":"+Math.floor(audioPlayer.currentTime-Math.round(Math.floor(audioPlayer.currentTime)/60))+"/"+Math.round(Math.floor(audioPlayer.duration)/60)+":"+Math.floor(audioPlayer.duration-Math.round(Math.floor(audioPlayer.duration)/60));
  document.getElementById('tracktime').innerHTML = counter;
 }

并且似乎显示出您想要的东西?我刚刚在我建议的帖子中使用了答案,但是您可以改用变量和元素?

© www.soinside.com 2019 - 2024. All rights reserved.