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