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 будет проигрывать файл с диска, подходит для длинных музыкальных треков
sound:play()
music:play()
Форматы
LÖVE поддерживает множество аудио-форматов, благодаря модулю love.sound, который осуществляет кодирование. Поддерживаемые форматы:
- MP3
- Ogg Vorbis
- WAVE
- а также любой формат "трекерной" музыки, который только захотите - XM, MOD, и свыше 20 других.
Ogg Vorbis и 16-bit WAVE рекомендуемые форматы. Другие могут иметь незначительные проблемы. Например, MP3 декодер может дополнять несколькими сэмплами в зависимости от использованного кодера. Эти проблемы от библиотек, что использует LÖVE для декодирования аудиофайлов, и не могут быть исправлены в LÖVE напрямую.
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)
src1:play()
src2:play()
Больше деталей можно найти в Source documentation.
Смотрите также
- TEsound - Аудио-менеджер который делает работу со звуковыми эффектами и музыкой значительно проще
- Minimalist Sound Manager - Сниппет который делает использование love.audio проще и автоматически управляет объектами Source
На других языках
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info