uns*_*ska 9 html javascript cordova
看来我无法通过移动实现无间隙循环.这是我到目前为止所做的:
https://github.com/Hivenfour/SeamlessLoop
http://www.schillmania.com/projects/soundmanager2/demo/api/
https://github.com/regosen/Gapless-5
https://github.com/floatinghotpot/cordova-plugin-nativeaudio
HTML5音频
Cordova的媒体插件
WebAudio
以上所有测试都使用mp3和ogg.
编辑:
SoundJS的cordova插件坏了,因此不起作用;
使用HTML5如果您使用的是HTML5,请使用循环属性.
<audio controls loop>
<source src="horse.ogg" type="audio/ogg">
<source src="horse.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
Run Code Online (Sandbox Code Playgroud)
它不会产生间隙,请检查您的音频文件,大多数音频文件最后都有差距.
你可以在这里测试它,只需添加循环属性并运行页面.
使用JavaScript
这里也是使用javascript的替代方案
myAudio = new Audio('someSound.ogg');
myAudio.addEventListener('ended', function() {
this.currentTime = 0;
this.play();
}, false);
myAudio.play();
Run Code Online (Sandbox Code Playgroud)
在这里,JavaScript会产生很小的差距,你可以通过播放循环来克服它,而不是在音频完成时但音频即将完成时.这是代码.
这就是你想要的.
myAudio = new Audio('http://unska.com/audio/pinknoise.ogg');
myAudio.ontimeupdate= function(i) {
if((this.currentTime / this.duration)>0.9){
this.currentTime = 0;
this.play();
}
};
myAudio.play();
Run Code Online (Sandbox Code Playgroud)
这是Demo.