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ètre | Type | Description |
|---|---|---|
filename | str | Nom 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é | Type | L/E | Description |
|---|---|---|---|
loop | bool | L/E | Activer la lecture en boucle |
volume | float | L/E | Gain (minimum 0.0) |
pan | float | L/E | Panoramique stéréo (-1.0 à 1.0) |
time | float | L | Position de lecture actuelle (secondes) |
duration | float | L | Durée totale (secondes) |
finished | bool | L | True 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.