pyxen.Music
Ein gestreamter Audiotrack, der einem Entity als Komponente angehängt wird.
Music wird bei Bedarf dekodiert (OGG Vorbis) und eignet sich für längere Tracks wie Hintergrundmusik und Umgebungsklänge.
Audio-Konzepte findest du unter Audio.
Konstruktor
Music(filename)
Ein erforderliches positionelles Argument: der Name eines OGG-Vorbis-Audio-Assets im Projekt.
Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
filename | str | Name des OGG-Assets |
Beispiel
theme = Music("theme")
Music anhängen
Beim Spawn:
bgm = world.spawn(music=Music("theme"))
Oder nachträglich:
entity.music = Music("theme")
Das Zuweisen von Music startet die Wiedergabe sofort.
Komponenteneigenschaften
Zugriff über entity.music:
| Eigenschaft | Typ | L/S | Beschreibung |
|---|---|---|---|
loop | bool | L/S | Schleife aktivieren |
volume | float | L/S | Lautstärke (begrenzt >= 0.0) |
pan | float | L/S | Stereo-Panning (-1.0 bis 1.0) |
time | float | L | Aktuelle Wiedergabeposition (Sekunden) |
duration | float | L | Gesamtlänge (Sekunden) |
finished | bool | L | True wenn Wiedergabe abgeschlossen |
loop
entity.music.loop = True
Wenn aktiviert, startet der Track nach dem Ende automatisch neu. Typisch für Hintergrundmusik.
volume
entity.music.volume = 0.5
Werte unter 0.0 werden auf 0.0 begrenzt.
pan
entity.music.pan = -1.0 # ganz links
entity.music.pan = 1.0 # ganz rechts
entity.music.pan = 0.0 # Mitte
Begrenzt auf den Bereich -1.0 bis 1.0.
time
t = entity.music.time
Nur lesbar. Aktuelle Wiedergabeposition in Sekunden.
duration
d = entity.music.duration
Nur lesbar. Gesamtlänge des Tracks in Sekunden.
finished
if entity.music.finished:
world.destroy(entity)
Nur lesbar. True wenn der Track fertig abgespielt wurde (und loop False ist).
Format
Music-Assets müssen OGG Vorbis-Dateien sein.
Im Gegensatz zu Sound (WAV, vollständig in den Speicher geladen) wird Music gestreamt und bei Bedarf dekodiert — besser geeignet für längere Audiodateien.
Häufige Fehler
Fehlender Dateiname
Music()
ValueError: Music must have a file
Ungültiges Asset
Music("nonexistent")
Das Music-Objekt wird erstellt, aber die Wiedergabe schlägt stillschweigend fehl mit einer protokollierten Warnung.