Tutorial:Audio (Français)

Avec LÖVE, c'est le module love.audio qui pilote le son.

Ce module utilise la librairie OpenAL comme back-end.

Le module love.audio ne manipule qu'un seul type d'objet - l'objet Source. Vous pouvez charger un son et le jouer de cette manière :

sound = love.audio.newSource("pling.wav", "static") -- le "static" indique au framework LÖVE de charger le fichier en mémoire, suffisant pour des petits effets sonores
music = love.audio.newSource("techno.ogg") -- si "static" n'est pas indiqué, le framework LÖVE va créer un flux depuis le disque, correct pour de gros fichiers, ex: musiques, son de bonne qualité, ...
love.audio.play(sound)
love.audio.play(music)

Formats

LÖVE supports beaucoup de formats, grâce au module love.sound qui s'occupe de tout le décodage. Les formats supportés :

  • MP3
  • OGG
  • WAV
  • et tout de tracker auquels vous pouvez penser - XM, MIDI, MOD, and over twenty others.

Pour une liste complète voir les formats gérés par la lib OpenAL.

Static vs. Streaming

Keep in mind that, if you pass love.audio.newSource "static" as a second argument, the sound file will be expanded into memory, so if you load a 5MB compressed .ogg file that way, it would consume ~50MB RAM when fully decompressed. Consider not using "static" in such cases.

If you omit the "static", the audio will be streamed from the file as it's played, something that saves a lot of memory when you're dealing with massive files.

Contrôle du son

Pour lire, arrêter, changer le volume, définir le pitch, etc...

Appelez simplement la méthode correspondante de l'objet Source.

src1 = love.audio.newSource("bang.wav", "static")
src2 = love.audio.newSource("bgm.mp3")
 
src1:setVolume(0.9) -- mets le volume à 90%
src1:setPitch(0.5) -- descendre d'un octave
src2:setVolume(0.7)
 
love.audio.play(src1)
love.audio.play(src2)

Plus de détails dans la documentation de l'objet Source.



Autres langues