39 lines
846 B
Markdown
39 lines
846 B
Markdown
# Aufgabe 06: Audio Queue einführen
|
|
|
|
## Ziel
|
|
|
|
Du baust eine Queue, damit TTS-Ausgaben geordnet abgespielt werden.
|
|
|
|
## Warum ist das wichtig?
|
|
|
|
Der Roboter soll nicht mehrere Antworten gleichzeitig sprechen.
|
|
|
|
## Voraussetzungen
|
|
|
|
- Aufgabe 05
|
|
- Nebenläufigkeit Grundlagen
|
|
|
|
## Theorie
|
|
|
|
Eine Queue entkoppelt Erzeugung und Wiedergabe. Sie erlaubt Stop, Clear, Priorität und sauberes Shutdown-Verhalten.
|
|
|
|
## Aufgabe
|
|
|
|
Implementiere eine Audio-Queue mit Worker, `enqueue`, `stop_current` und `clear`.
|
|
|
|
## Akzeptanzkriterien
|
|
|
|
- Zwei Texte werden nacheinander gesprochen.
|
|
- Queue kann geleert werden.
|
|
- Worker beendet sich sauber.
|
|
|
|
## Erweiterungen
|
|
|
|
- Füge Priorität für Warnhinweise hinzu.
|
|
|
|
## Reflexionsfragen
|
|
|
|
- Wann darf eine neue Antwort alte Sprache abbrechen?
|
|
- Wie verhinderst du Race Conditions?
|
|
- Welche Zustände braucht ein Audio-Player?
|