首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将<audio>标记跟踪时间转换为Mins:Secs

将<audio>标记跟踪时间转换为Mins:Secs
EN

Stack Overflow用户
提问于 2015-07-08 21:19:19
回答 2查看 1K关注 0票数 1

我创造了一个弗兰肯斯坦音频播放器,并需要一点帮助,在轨道的时间。我现在有了,所以它从0 ->计数,不管跟踪时间是多少,以秒为单位。我似乎想不出如何将这些秒转换为mins:secs。

我是新的时间/转换与JS,所以任何帮助都是非常感谢的!

HTML

代码语言:javascript
复制
    <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,等等。

这里是我当前的音频标签:

代码语言:javascript
复制
<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> 

我只是不能把秒连到会议记录上。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-09 12:59:27

想明白了,只是需要重新格式化..。

代码语言:javascript
复制
<div class="scrub-bar">
      <div class="progress"></div>
      <div class="time current">0:00</div>
      <div class="time duration">0:00</div>
</div>

JS

代码语言:javascript
复制
//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());
    }
票数 1
EN

Stack Overflow用户

发布于 2020-05-06 11:33:37

在CMS Effcore中,我们应用了以下简单而巧妙的解决方案:

代码语言:javascript
复制
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;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31303971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档