Tutorial:Audio (Deutsch)

In LÖVE wird die Audiowiedergabe durch das Modul love.audio (Deutsch) gehandhabt, welches dafür OpenAL benutzt. love.audio (Deutsch) hat nur einen einziges Audio-Objekt und zwar die Source (Deutsch). Um eine Audio-Datei zu laden und wiederzugeben kannst du folgendes machen:

sound = love.audio.newSource("pling.wav", "static") --Das "static"-Argument sorgt dafür, dass LÖVE die Audio-Datei in den Arbeitsspeicher läd, was gut für kurze Soundeffekte ist.
musik = love.audio.newSource("techno.ogg") --Wenn das  "static"-Argument fehlt, streamt LÖVE die Audio-Datei direkt von der Festplatte, was gut für längere Stücke ist.
love.audio.play(sound)
love.audio.play(musik)

Formate

LÖVE unterstützt, dank dem love.sound-Modul, welches für die Audio-Dekodierung da ist, viele Audio-Formate. Formate die unterstützt werden umfassen:

  • MP3
  • OGG
  • WAV
  • und so gut wie jedes Tracker-Format, wie - XM, MIDI, MOD, und zwanzig andere

Statisch vs. Streaming

Denk daran, wenn du love.audio.newSource das "static"-Argument übergibst, wird die Audio-Datei im Speicher expandiert, so wird aus einer auf 5MB komprimierten OGG-Datei im Speicher eine ca. 50MB große Datei, da sie vollständig dekomprimiert wird. In solchen Fällen sollte man nicht das "static"-Argument übergeben.

Lässt du das static"-Argument weg, so wird direkt von der Festplatte gestreamt und somit nicht dekomprimiert, was unter umständen eine Menge Arbeitsspeicher sparen kann, wenn du mit großen Audio-Dateien umgehst.

Audio-Kontrollelemente

Um zu pausieren, stoppen, Lautstärke ändern, loopen, pitchen, usw., kannst du einfach die entsprechende Methode von Source aufrufen.

src1 = love.audio.newSource("bang.wav", "static")
src2 = love.audio.newSource("bgm.mp3")
 
src1:setVolume(0.9) --90% der ursprünglichen Lautstärke
src1:setPitch(0.5) --Eine Oktave tifer
src2:setVolume(0.7)
 
love.audio.play(src1)
love.audio.play(src2)

Weitere Details können unter der Source-Dokumentation (Englisch) oder Source-Dokumentation (Deutsch, unvollständig) gefunden werden.

Siehe Auch

TEsound - Ein Soundmanager der es einfacher macht Soundeffekte und Musik zu benutzten

Andere Sprachen