电话媒体声音停止播放5次后

如果用户正确回答问题,我需要播放“正确”的声音,如果不正确,请回答“错误”。 声音在开始播放,但在第五次以后,我已经第五次正确地输出了第四次“正确”声音,听不到任何声音。 看来音乐最多只能播放四次。 造成这种情况的可能原因是什么?

更新*我添加media.release在我的stopAudio(),但迄今为止的声音可以听到第六(改进),但它仍然不适合我的情况。 (许多需要相同音效的问题)

Js.file

// 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(); } }); 

Solutions Collecting From Web of "电话媒体声音停止播放5次后"

Android有足够的资源来播放声音。 每次您想要播放文件时都要继续创build一个新的媒体对象。 你需要释放你没有使用的声音。 如果您需要多次播放这些声音,请考虑创build单独的媒体对象来保存对这些声音的引用。

阅读media.release 。

我有同样的问题。 我做的解决scheme:

  if(media){ media.stop(); media.release(); } media = new Media(...); 

这是我的诀窍:我发布了它,完成播放或发生错误。

 function playAudio(url) { try { var my_media = new Media(url, // success callback function () { **my_media.release();** }, // error callback function (err) { **my_media.release();** }); // Play audio my_media.play(); } catch (e) { alert(e.message); } }