Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/01/2012, 13:44
pintovic14
 
Fecha de Ingreso: enero-2012
Mensajes: 3
Antigüedad: 12 años, 3 meses
Puntos: 0
Exclamación Detener un loop infinito de sonido para iniciar otro sonido

Hola buenas...estoy haciendo un juego para movil con J2ME y me surge el siguiente problema...
Inicialmente el juego comienza con una musica que para que siempre este sonando le hago un loop infinito

try {
InputStream is = getClass().getResourceAsStream("/Sonidos/musicFondo.wav");
juego.pbg = Manager.createPlayer(is, "audio/x-wav");
//Indica que se debe reproducir en un loop
juego.pbg.realize();
juego.pbg.setLoopCount(-1);
juego.pbg.start();
}

pero claro llega un momento en el que quiero detener ese loop indefinido para iniciar otro sonido (un monigote hablando) entonces hago esto...

VolumeControl volumeControl = (VolumeControl) juego.pbg.getControl( "VolumeControl" );
try {
if(juego.comentarios)
{ volumeControl.setMute(true);
juego.pbg.stop();
Utilidades.doPauseSonidoComentario(1);
InputStream is = getClass().getResourceAsStream("/Sonidos/pPortada.wav");
comentarios = Manager.createPlayer(is, "audio/x-wav");
//Indica que se debe reproducir en un loop
comentarios.start();
}
}

y claro...funcionar funcion...pero pq uso el metodo doPauseSonidoComentario...que es una espera de 2 segundos.
Si lo hago sin esta espera de 2 segundos..se me bloquea la musica inicial y empieza como a repetirse una sola silaba, como cuando se raya un disco, hasta que pasa un determinado tiempo y entonces ya empieza el segundo sonido

No se que hacer para evitar esto y que cuando pare un sonido, seguidamente empieze el otro sin tener que hacer una pausa, pq claro con la pausa lo que pasa es que el usuario pulsa una tecla, la cual hace que se pare una musica y empiece la otra, pero pasan 2 o 3 segundos desde que para una musica y empieza otra.

Muchisimas gracias a todo aquel que me pueda aportar una ayuda