Difference between revisions of "Tutorial:Audio (Русский)"
Robotechnik (talk | contribs) (Created page with "В LÖVE, звук управляется в модуле love.audio, который использует OpenAL для проигрывания. love.audio имеет тол...") |
(Fix and update (исправление ошибок и обновление до англ. версии)) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | В LÖVE, звук управляется в модуле [[love.audio]], который использует OpenAL для проигрывания. love.audio имеет только один тип звукового | + | В LÖVE, звук управляется в модуле [[love.audio]], который использует OpenAL для проигрывания. love.audio имеет только один тип звукового объекта - [[Source]]. Вы можете загрузить аудио и проиграть его как в этом примере: |
<source lang="lua"> | <source lang="lua"> | ||
sound = love.audio.newSource("pling.wav", "static") -- команда "static" говорит LÖVE загрузить файл в память, подходит для коротких звуковых эффектов | sound = love.audio.newSource("pling.wav", "static") -- команда "static" говорит LÖVE загрузить файл в память, подходит для коротких звуковых эффектов | ||
− | music = love.audio.newSource("techno.ogg") -- если "static" не указано, LÖVE будет проигрывать файл с диска, подходит для | + | music = love.audio.newSource("techno.ogg") -- если "static" не указано, LÖVE будет проигрывать файл с диска, подходит для длинных музыкальных треков |
− | + | sound:play() | |
− | + | music:play() | |
</source> | </source> | ||
Line 12: | Line 12: | ||
* MP3 | * MP3 | ||
− | * | + | * Ogg Vorbis |
− | * | + | * WAVE |
− | * а также любой формат "трекерной" музыки, который только захотите - XM | + | * а также любой формат "трекерной" музыки, который только захотите - XM, MOD, [http://sourceforge.net/p/modplug-xmms/git/ci/master/tree/libmodplug/README#l39 и свыше 20 других]. |
+ | Ogg Vorbis и 16-bit WAVE рекомендуемые форматы. Другие могут иметь незначительные проблемы. Например, MP3 декодер может дополнять несколькими сэмплами в зависимости от использованного кодера. Эти проблемы от библиотек, что использует LÖVE для декодирования аудиофайлов, и не могут быть исправлены в LÖVE напрямую. | ||
== Static vs. Streaming == | == Static vs. Streaming == | ||
− | Помните, что если вы пишете <code>[[love.audio.newSource]]</code> "static" как второй аргумент, то файл будет | + | Помните, что если вы пишете <code>[[love.audio.newSource]]</code> "static" как второй аргумент, то файл будет увеличен в памяти, поэтому если вы загрузите 5 мегабайтный сжатый аудио-файл в формате .ogg, он займёт около ~50 мегабайт RAM когда будет распакован. Советуем не использовать параметр "static" в таких случаях. |
Если вы пропустите параметр "static", звук будет проигрываться из файла непосредственно, иногда это это помогает освободить достаточно большое количество памяти, когда вы работаете с большими файлами. | Если вы пропустите параметр "static", звук будет проигрываться из файла непосредственно, иногда это это помогает освободить достаточно большое количество памяти, когда вы работаете с большими файлами. | ||
Line 24: | Line 25: | ||
== Управление звуками == | == Управление звуками == | ||
− | Чтобы поставить на паузу, остановить, изменить громкость, зациклить, | + | Чтобы поставить на паузу, остановить, изменить громкость, зациклить, изменить высоту и т. д., просто вызовите соответствующий метод из [[Source]]. |
<source lang="lua"> | <source lang="lua"> | ||
Line 34: | Line 35: | ||
src2:setVolume(0.7) | src2:setVolume(0.7) | ||
− | + | src1:play() | |
− | + | src2:play() | |
</source> | </source> | ||
Line 42: | Line 43: | ||
== Смотрите также == | == Смотрите также == | ||
* [[TEsound]] - Аудио-менеджер который делает работу со звуковыми эффектами и музыкой значительно проще | * [[TEsound]] - Аудио-менеджер который делает работу со звуковыми эффектами и музыкой значительно проще | ||
+ | * [[Minimalist Sound Manager]] - [[Snippets|Сниппет]] который делает использование love.audio проще и автоматически управляет объектами Source | ||
== На других языках == | == На других языках == | ||
{{i18n|Tutorial:Audio}} | {{i18n|Tutorial:Audio}} | ||
− | [[Category:Tutorials]] | + | [[Category:Tutorials (Русский)]] |
{{#set:LOVE Version=0.6.1}} | {{#set:LOVE Version=0.6.1}} | ||
− | {{#set:Description= | + | {{#set:Description=Урок по использованию [[love.audio]].}} |
+ | {{#set:Tutorial=Yes}} |
Latest revision as of 00:26, 9 June 2018
В 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