我设置
s.loop = true
或举止活动:
s.onended = function()
{
this.currentTime = 0 ;
this.play();
};
它在赛道结束前几秒钟循环....
之前有没有人遇到过这个问题并找到了解决方法?
(是的,我知道webaudio更好,但是在手机上解码文件需要很长时间,因此我只将其用于短音,并且必须使用令人讨厌的旧音频元素来播放音乐。)
答案 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>