> For the complete documentation index, see [llms.txt](https://lados-organization.gitbook.io/goku/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lados-organization.gitbook.io/goku/goku-game-engine_de/kapitel-14-das-audiosystem.md).

# 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.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://lados-organization.gitbook.io/goku/goku-game-engine_de/kapitel-14-das-audiosystem.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
