Chapitre 14 : Le Système Audio

La structure AudioPlayer constitue le cœur du système audio de ce jeu. Ce système utilise le module sdl2::mixer de la bibliothèque SDL2 en Rust. Il peut charger et lire des fichiers audio .mp3, .flac, .mod et .ogg. La structure AudioPlayer contient un seul champ : mixer_context.

Un AudioPlayer est instancié avec un nombre spécifique de canaux (numchans). La fonction du constructeur (new) initialise SDL2, ouvre un périphérique audio avec une fréquence, une taille de paquet et un nombre spécifiques de canaux. Elle fournit une méthode play qui charge un fichier audio, le lit en boucle un certain nombre de fois et définit son volume. La méthode play renvoie un Channel qui peut être mis en pause, repris ou arrêté à l'aide des méthodes respectives dans AudioPlayer.

Lorsqu'une instance AudioPlayer est supprimée, elle arrête la musique en cours de lecture et affiche un message dans la console.

Last updated