El sonido de los medios de comunicación de teléfono deja de reproducir después de 5 veces
Necesito reproducir el sonido "correcto" si el usuario responde a la pregunta correctamente y "incorrecto" si es incorrecto. El sonido se reproduce al principio, pero después de la quinta vez que respondo correctamente que la salida de la cuarta vez "correcta" de sonido ya la quinta vez, no se oye ningún sonido. Parece que la música sólo se puede jugar en la mayoría de las veces en 4 ª. ¿Cuál es la razón posible que causa esto?
Actualizado * He agregado media.release en mi stopAudio (), pero hasta ahora el sonido se puede escuchar por sexto (mejorado), pero aún no es adecuado para mi caso. (Muchas preguntas que necesitan el mismo efecto de sonido)
- Transmisión con Android MediaPlayer en SDK 8
- Comunicación entre servicio y actividad en una aplicación android mediaplayer
- Cómo detectar los eventos de MediaPlayer de youtube desde un servicio
- Reproductor multimedia de Android que provoca mensaje de "hilo muerto"
- Jugar dos sonidos Simutaneosly
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; }
///// parte de la pregunta //////
$("#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(); } });
- Cómo cambiar el User-agent por defecto en mediaplayer del android
- Android - QCMediaPlayer mediaplayer NO está presente - no puede reproducir sonido en absoluto
- Reproducir un archivo de sonido de Internet cuando se hace clic en un botón
- Android varios MediaPlayers
- Transmisión de audio con Android MediaPlayer
- OnCompletion escucha con MediaPlayer
- ¿Cómo reproducir los archivos de audio directamente de la carpeta res / raw?
- Cómo jugar a m3u8 en Android?
Android tiene una cantidad finita de recursos para reproducir sonidos. Sigue creando un nuevo objeto Media cada vez que quiera reproducir un archivo. Necesita liberar los sonidos que no está usando. Si necesita reproducir esos sonidos varias veces cada uno, considere la posibilidad de crear objetos multimedia independientes para mantener una referencia a esos sonidos.
Leer en media.release .
Yo tuve el mismo problema. La solución que hice .:
if(media){ media.stop(); media.release(); } media = new Media(...);
Aquí está mi truco: lo solté cuando terminó de jugar o se produjo un error.
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); } }
- Dar un retraso de pocos segundos sin usar hilos
- InstallLocation identificador no encontrado en eclipse paquete de Android