Tutorial:Audio (Русский)

В LÖVE, звук управляется в модуле love.audio, который использует OpenAL для проигрывания. love.audio имеет только один тип звукового обьекта - Source. Вы можете загрузить аудио и проиграть его как в этом примере:

sound = love.audio.newSource("pling.wav", "static") -- команда "static" говорит LÖVE загрузить файл в память, подходит для коротких звуковых эффектов
music = love.audio.newSource("techno.ogg") -- если "static" не указано, LÖVE будет проигрывать файл с диска, подходит для длинным музыкальных треков
love.audio.play(sound)
love.audio.play(music)

Форматы

LÖVE поддерживает множество аудио-форматов, благодаря модулю love.sound, который осуществляет кодирование. Поддерживаемые форматы:

  • MP3
  • OGG
  • WAV
  • а также любой формат "трекерной" музыки, который только захотите - XM, MIDI, MOD, и более 12 свыше.

Static vs. Streaming

Помните, что если вы пишете love.audio.newSource "static" как второй аргумент, то файл будет загружен в память игры, поэтому если вы загрузите 5 мегабайтный сжатый аудио-файл в формате .ogg, он займёт около ~50 мегабайт RAM когда будет раскодирован. Советуем не использовать параметр "static" в таких случаях.

Если вы пропустите параметр "static", звук будет проигрываться из файла непосредственно, иногда это это помогает освободить достаточно большое количество памяти, когда вы работаете с большими файлами.

Управление звуками

Чтобы поставить на паузу, остановить, изменить громкость, зациклить, повысить, итд., прото вызовите соответствующий метод из Source.

src1 = love.audio.newSource("bang.wav", "static")
src2 = love.audio.newSource("bgm.mp3")
 
src1:setVolume(0.9) -- 90% громкости
src1:setPitch(0.5) -- на октаву ниже
src2:setVolume(0.7)
 
love.audio.play(src1)
love.audio.play(src2)

Больше деталей можно найти в Source documentation.

Смотрите также

  • TEsound - Аудио-менеджер который делает работу со звуковыми эффектами и музыкой значительно проще

На других языках