当我在html5音频元素上使用'loop'属性时,歌曲重放时似乎有一个间隙。有没有一种简单的方法来消除这种差距?
代码:
<audio controls loop preload>
<source src="http://www.phatdrumloops.com/audio/wav/ifineededs.wav" type="audio/wav">
Your browser does not support the audio element.
</audio>
工作小提琴示例:
答案 0 :(得分:2)
这实际上是音频标签的问题。但是,您可以尝试通过执行以下操作来最小化效果:
var audio = new Audio('http://www.phatdrumloops.com/audio/wav/ifineededs.wav')
audio.addEventListener('timeupdate', function(){
var buffer = .1
if(this.currentTime > this.duration - buffer){
this.currentTime = 0
this.play()
}}, false);
audio.play()
编辑:根据您的评论,我已经深入挖掘了一下。这是我发现的: https://github.com/Hivenfour/SeamlessLoop
问题在于,您需要以ms为单位提供正确的音轨长度(您要循环的音轨)