我已经尝试了多种方法在Android中实现无缝/无缝循环。
我试过cordova的默认媒体插件。我已经尝试过NativeAudio插件(https://github.com/floatinghotpot/cordova-plugin-nativeaudio)。
它们都会在循环之间产生明显的间隙。
有没有不能做到这一点的插件?我的一些声音只有4秒(例如下雨),这些间隙破坏了整个回放过程。
// Cordova's Media plugin:
var loop = function (status) {
if (status === Media.MEDIA_STOPPED) {
my_media.play();
}
};
function playAudio(src) {
my_media = new Media(src, onSuccess, onError, loop);
my_media.play();
}
// NativeAudio:
window.plugins.NativeAudio.loop('sound');发布于 2015-06-07 20:38:06
尝试使用这个插件:https://github.com/SidneyS/cordova-plugin-nativeaudio
我认为代码的这一部分是造成这些差距的原因:
var loop = function (status) {
if (status === Media.MEDIA_STOPPED) {
my_media.play();
}
};因为循环已经在没有它的情况下工作了,所以你可以请求两次播放音乐。
我建议使用演示代码,其中包含一个循环:https://github.com/SidneyS/cordova-plugin-nativeaudio#demo
if( window.plugins && window.plugins.NativeAudio ) {
window.plugins.NativeAudio.preloadComplex( 'music', 'audio/music.mp3', 1, 1, 0, function(msg){
}, function(msg){
console.log( 'error: ' + msg );
});
// Play
window.plugins.NativeAudio.loop( 'music' );
}https://stackoverflow.com/questions/30692935
复制相似问题