Kapitel 14: Das Audiosystem
Die AudioPlayer
-Struktur bildet das Herzstück des Audiosystems für dieses Spiel. Dieses System verwendet das sdl2::mixer
-Modul aus der SDL2
-Bibliothek in Rust. Es kann .mp3
, .flac
, .mod
und .ogg
Audiodateien laden und abspielen. Die AudioPlayer
-Struktur enthält ein einziges Feld - mixer_context
. Ein AudioPlayer
wird mit einer bestimmten Anzahl von Kanälen (numchans
) instanziiert. Die Konstruktionsfunktion (new
) initialisiert SDL2, öffnet ein Audiogerät mit einer bestimmten Frequenz, Chunk-Größe und Anzahl von Kanälen. Es bietet eine Methode play
, die eine Audiodatei lädt, sie in einer Schleife eine bestimmte Anzahl von Malen abspielt und die Lautstärke einstellt. Die play
-Methode gibt einen Channel
zurück, der mit den entsprechenden Methoden in AudioPlayer
angehalten, fortgesetzt oder gestoppt werden kann. Wenn eine Instanz von AudioPlayer
verworfen wird, wird die gerade abgespielte Musik beendet und eine Nachricht in die Konsole ausgegeben.
Last updated