pyxen.Music

Une piste audio en streaming attachée à une Entity en tant que composant.

La musique est décodée à la demande (OGG Vorbis), ce qui la rend adaptée aux pistes longues comme la musique de fond et l’ambiance.

Pour les concepts audio, consultez Audio.


Constructeur

Music(filename)

Un argument positionnel requis : le nom d’un asset audio OGG Vorbis dans le projet.


Paramètres

ParamètreTypeDescription
filenamestrNom de l’asset OGG

Exemple

theme = Music("theme")

Attacher une Music

Lors du spawn :

bgm = world.spawn(music=Music("theme"))

Ou plus tard :

entity.music = Music("theme")

L’assignation d’une musique lance la lecture immédiatement.


Propriétés du composant

Accès via entity.music :

PropriétéTypeL/EDescription
loopboolL/EActiver la lecture en boucle
volumefloatL/EGain (minimum 0.0)
panfloatL/EPanoramique stéréo (-1.0 à 1.0)
timefloatLPosition de lecture actuelle (secondes)
durationfloatLDurée totale (secondes)
finishedboolLTrue lorsque la lecture est terminée

loop

entity.music.loop = True

Lorsqu’activé, la piste redémarre automatiquement après la fin de la lecture. Usage typique pour la musique de fond.


volume

entity.music.volume = 0.5

Les valeurs inférieures à 0.0 sont limitées à 0.0.


pan

entity.music.pan = -1.0  # full left
entity.music.pan =  1.0  # full right
entity.music.pan =  0.0  # center

Limité à la plage -1.0 à 1.0.


time

t = entity.music.time

Lecture seule. Position de lecture actuelle en secondes.


duration

d = entity.music.duration

Lecture seule. Durée totale de la piste en secondes.


finished

if entity.music.finished:
    world.destroy(entity)

Lecture seule. True lorsque la piste a fini de jouer (et que loop est False).


Format

Les assets musicaux doivent être des fichiers OGG Vorbis.

Contrairement à Sound (WAV, chargé entièrement en mémoire), Music est streamé et décodé à la demande — mieux adapté pour les fichiers audio longs.


Erreurs courantes

Nom de fichier manquant

Music()
ValueError: Music must have a file

Asset invalide

Music("nonexistent")

L’objet musique est créé mais la lecture échouera silencieusement avec un avertissement dans les logs.