音频元素在结束前循环

时间:2018-04-11 14:31:54

标签: html5 html5-audio

我设置

s.loop = true

或举止活动:

s.onended = function()
{
    this.currentTime = 0 ;
    this.play();
};

它在赛道结束前几秒钟循环....

之前有没有人遇到过这个问题并找到了解决方法?

(是的,我知道webaudio更好,但是在手机上解码文件需要很长时间,因此我只将其用于短音,并且必须使用令人讨厌的旧音频元素来播放音乐。)

1 个答案:

答案 0 :(得分:0)

如果您想要始终重复音频,并且无法通过Javascript工作,则可以在HTML中使用循环标记

<audio controls loop>
  <source src="horse.ogg" type="audio/ogg">
  <source src="horse.mp3" type="audio/mpeg">
</audio>
  

我测试你的代码并播放完整的声音,然后重复声音

<audio id="Audio" controls>
  <source src="horse.ogg" type="audio/ogg">
  <source src="horse.mp3" type="audio/mpeg">
   </audio>

<script>
   var s = document.getElementById("Audio");
       s.loop = true;
   </script>

<script>
       var s = document.getElementById("Audio");
           s.onended = function(){
           this.currentTime = 0 ;
           this.play();
        }
       </script>