我正在使用angularJS和Cordova开发应用程序
现在我正在使用Media Plugin播放不同的音频
当我正在播放背景音频(长音频和循环播放)和另一个音频(短片并且只播放一次)时,我在iOs上检测到并发出问题,当第二个音频播放完毕后,我的背景音频也停止了
任何想法如何解决?
一段代码
backgroundMusic = new Media("background",
function () {
//success (object has completed the current play, record, or stop)
},
function (err) {
//error
console.log("playAudio():Audio Error: " + err);
},
function (status) {
if(status == Media.MEDIA_STOPPED){
//patch for ios issue
backgroundMusic.seekTo(1);
backgroundMusic._position = 0;
//end of patch
backgroundMusic.play({playAudioWhenScreenIsLocked : false});
}
}
);
backgroundMusic.play({playAudioWhenScreenIsLocked : false});
//and the other audio
openPopUp = new Media("openPopUp.mp3",
function () {
//success (object has completed the current play, record, or stop)
},
function (err) {
//error
console.log("playAudio():Audio Error: " + err);
}
);
openPopUp.play({playAudioWhenScreenIsLocked : false});
当openPopUp音频完成后,背景音频也会结束
PR已针对此问题制作:“修复CDVSound在单个文件完成时终止所有音频”。
我测试它,它解决了这个问题。由于Apache尚未合并PR,我不得不使用fork the repo,包含修复并发布我自己的版本。如果您想尝试一下,请将原始的cordova插件替换为:
cordova add [email protected]