Programación de Juegos para Android

Programación de Juegos para Android 38: Cómo poner Musica y Sonidos

42 videos

238 minutos

Vamos a ver cómo agregar músicas y sonidos al juego. Es muy fácil de hacer en realidad. Porque tenemos una clase, de hecho dos, en libGDX, que sirven para trabajar con sonidos y con músicas. Son Sound, y Music. Y lo que he hecho aquí es agregar en la carpeta assets los archivos que voy a usar. Voy a agregar una canción, que he convertido a OGG para que pese menos. Y dos sonidos que están en OGG pero que podrían estar en WAV o MP3: el sonido de salto, y el sonido de muerte.

Voy a agregarlos al AssetManager, mediante llamadas a load(), para que cargue por un lado die.ogg, que es un Sound. Y jump.ogg como otro Sound. Y por último song.ogg como Music. Cargo los archivos, cargo las clases. Y ya lo tengo listo. Esto va a hacer que tarde en abrir el juego, hay que reconocerlo. Por eso luego voy a hacer la pantalla de carga. Ahora lo que tengo que hacer es, que se pueda reproducir cuando sea conveniente. Por ejemplo, vamos a ver cómo reproducir en

primer lugar sonidos. Y para ello lo que voy a hacer es, que cuando inicie mi juego voy a obtener el sonido de salto, y el sonido de muerte. Y voy a hacer que se preparen los sonidos sacándolos del Manager. Tanto jump.ogg como die.ogg. Ahora lo que voy a hacer es… de hecho, sacar de act() el justTouched, y lo voy a mover al GameScreen. Para pedirle al player que inicie su salto. Gracias a esto, ahora puedo reproducir el sonido desde

aquí sin complicarme la estructura de clases. Es un cambio de ultimísima hora. Para reproducir un sonido, como el sonido de salto, todo lo que hay que hacer es usar el método play(), con lo que se reproduce. Podemos modificar el volumen, el tono, o si queremos moverlo a la izquierda o derecha en altavoces estéreo. Yo llamo a play(), y se reproduce. Hagamos que se reproduzca cuando inicies un salto, como cuando haces un doble salto. Y por último, que si pierdes se haga

el sonido de cuando pierdes. Y ahora, como creo que no tengo configurado el sonido dual en mi PC voy a subir el volumen a tope para que podáis escuchar los sonidos. [Poing] [Pss] Vale. A ser posible no a la vez, pero ya sabéis que soy malo jugando. [Poing] [Poing] [Pss] Bueno. Ya os he dicho que no se me dan bien estos juegos. Queda por reproducir la música. La extraigo del Manager, y la guardo en bgMusic. La saco como song.ogg. Voy a hacer, que en el show(),

cuando empiece el juego, una de las primeras cosas que se haga es iniciar la reproducción de la música. Para que no sea muy molesta, lo que voy a hacer es que se ponga como volumen 75%, para que no se reproduzca con tanta fuerza, y la voy a reproducir. Y en el hide(), en vez de reproducirla, voy a llamar a stop() para que deje de sonar. Ahora cuando el juego empieza… [Música] [Poing] [Pss] Se me ocurre que por qué no hago que la música se pare cuando mueres,

como en el juego original. Con lo bien que juego va a durar nada la música. [Música] [Poings] [Pss] Con esto se reproduce música. Se escucha múltiple. Debería comprobar si el jugador ya está muerto para no volver a reproducirlo. Ya no debería sonar tantas veces el ruido. Pilláis el concepto. Llamamos siempre a play() para iniciar una reproducción, o stop() para detener una reproducción. Con esto podréis reproducir efectos de sonido y música.

Pensaréis que igual no hay diferencia entre Sound y Music. El Sonido se carga completo. La música intenta bufferizarse para no ocupar tanto espacio. Además, los sonidos y las músicas van por canales de audio distinto en la tarjeta de sonido así que puede que puedas reproducir varios sonidos a la vez pero igual no puedas reproducir varias músicas. Esto es todo sobre sonidos y música. Vamos a continuar puliendo los últimos detalles del juego.

Si quieres enterarte de los nuevos cursos, suscríbete. No habrá spam, prometido :)

Sobre el autor

foto de jotajotavm
José Javier Villena

jotajota pa los amigos y jota pa los de más cnfianza.

Bio Seria: Analista-Programador en diferentes lenguajes. Tutor PREMIUM de reconocidas plataformas de nivel mundial como CodigoFacilito. Redactor de artículos para Cristalab. Mi canal de YouTube está patrocinado por la editorial ANAYA y LaTostadora. Me gusta explicar con detalle y poner varios ejemplos para que no queden dudas.

Bio Molona: Me presento :) soy informatico, ni frostis d hardware pero muy muxo de programacion, friki a medias o del to segun el dia. Me gusta programar, muxo. Manejo varios lenguajes y tdo lo ke sepa lo comparto x amor al arte. Este no es mi trabjo pero lo ago mejor y con +ganas y calidad que si lo fuera, x eso mismo, xq para mi es divertido. Solo spero al menos algo de agradecimientO!! ;)

Dios, qe gusto haber escrito este parrafo cm me a dao la gana sin pensar en ortografia ni tildes ni historias!!!!!