如果用户正确回答问题,我需要播放“正确”的声音,如果不正确,我需要播放“错误”的声音。声音一开始是在播放,但在我第五次回答正确后,已经第五次输出第四次“正确”的声音,听不到任何声音。似乎音乐最多只能播放 4 次。 造成这种情况的可能原因是什么?
已更新* 我在我的 stopAudio() 中添加了 media.release 但到目前为止可以听到第 6 次(改进)的声音,但它仍然不适合我的情况。 (多题需要同一个音效)
Js.文件
// Audio player
var my_media = null;
var mediaTimer = null;
// Play audio
function playAudio(src) {
// Create Media object from src
my_media = new Media(src, null, soundCB);
my_media.play();
}
function soundCB(err){
console.log("playAudio():Audio Error: "+err);
}
// Stop audio
//
function stopAudio() {
if (my_media) {
alert("AQA");
my_media.stop();
my_media.release();
}
clearInterval(mediaTimer);
mediaTimer = null;
}
/////问题部分//////
$("#answer").live('tap', function(event){
if(buttonAns==true) {
$this= $(this);
buttonAns = false;
var choice = $this.attr("class");
if((correctAnsNo == 0 && choice =="answer0")||(correctAnsNo == 1 && choice =="answer1")||(correctAnsNo == 2 && choice =="answer2")){
playAudio('/android_asset/www/audio/fall.mp3'); //falling sound
correct = parseInt(correct)+2;
playAudio('/android_asset/www/audio/correct.mp3'); //dingdong
}else{
playAudio('/android_asset/www/audio/wrong1.wav');
}
if(quesNo < wordsNo ){
setTimeout(function() {
buttonAns = true;
db.transaction(queryQuesDB, errorCB);
},1800);
}else{
endLevel();
}
} else {
event.preventDefault();
}
});
最佳答案
Android 用于播放声音的资源有限。每次要播放文件时,您都会不断创建一个新的媒体对象。您需要释放不使用的声音。如果您需要多次播放这些声音,请考虑创建单独的媒体对象来保存对这些声音的引用。
继续阅读 media.release .
关于android - phonegap 媒体声音在 5 次后停止播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13566064/