Capítulo 14: El Sistema de Audio

La estructura AudioPlayer forma el núcleo del sistema de audio para este juego. Este sistema utiliza el módulo sdl2::mixer de la biblioteca SDL2 en Rust. Puede cargar y reproducir archivos de audio en formatos .mp3, .flac, .mod y .ogg. La estructura AudioPlayer contiene un único campo: mixer_context.

Se instancia un AudioPlayer con un número específico de canales (numchans). La función del constructor (new) inicializa SDL2, abre un dispositivo de audio con una frecuencia, tamaño de fragmento y número de canales específicos. Proporciona un método play que carga un archivo de audio, lo reproduce en un bucle un número dado de veces y establece su volumen. El método play devuelve un Channel que se puede pausar, reanudar o detener utilizando los métodos respectivos en AudioPlayer.

Cuando se descarta una instancia de AudioPlayer, se detiene la música que se está reproduciendo actualmente y se imprime un mensaje en la consola.

Last updated