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