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

ParameterTypBeschreibung
filenamestrName 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:

EigenschaftTypL/SBeschreibung
loopboolL/SSchleife aktivieren
volumefloatL/SLautstärke (begrenzt >= 0.0)
panfloatL/SStereo-Panning (-1.0 bis 1.0)
timefloatLAktuelle Wiedergabeposition (Sekunden)
durationfloatLGesamtlänge (Sekunden)
finishedboolLTrue 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.