Аудио

Объект АУДИО позволяет добавлять и проигрывать в проект аудио ресурсы, управлять воспроизведением, а также изменять громкость и выбирать аудиофайл.

Работа с объектом Аудио

Свойства объекта Аудио

../_images/audio1.png
Параметр Описание Примечание
Ресурс аудио (audioResource) Позволяет выбрать файл с аудио необходимого формата.

При создании объекта Аудио ресурс аудио не определен.

Для того чтобы добавить ресурс аудио, необходимо выбрать в списке что-то из заранее добавленных ресурсов аудио или выбрать “Создать новый”, если необходимо использовать звуки, которые еще не были добавлены в ресурсы проекта.

Громкость (volume) Позволяет установить громкость аудио ресурса.

Максимальные значения для параметра:

1.000 - соответствует громкости звука, установленной на 100%

Панорамирование (pan) Распределение звуковой волны в пространственном диапазоне звукового поля или, иначе говоря, распределение звука по стереоканалам (влево, вправо, центр).

По умолчанию значение данного параметра установлено как 0.000, то есть звук одинаково распределяется между стереоканалами.

Если вам необходимо “сместить” звук влево или вправо, можно изменить значение данного параметра.

Минимальное и максимальное значения для параметра:

-1.000 – звук полностью смещен влево

1.000 – звук полностью смещен вправо

Режим воспроизведения (playMode) Позволяет выбрать режим проигрывания аудио ресурса. Возможные значения параметра при выборе режима проигрывания: один раз или повтор.
Декодирование на ходу (liveDecoding) При выборе данного параметра декодирование и отправка в оперативную память аудио файла для воспроизведения производится пакетами.  

Примечание

Декодирование – процесс восстановления исходной формы представления информации.

Аудиофайл, который добавлен в проект, изначально закодирован и состоит из пакетов данных. Прежде чем он будет воспроизведен, он будет декодирован и полностью загружен в оперативную память. Но декодированный файл весит в разы больше, чем закодированный – это значит, что аудиофайл размером 1Мб после декодирования займет в оперативной памяти гораздо больше места, чем 1 Мб. Этот момент может быть критичен, когда в проекте используются аудио большого размера, например, аудио формата .flac.

Однако, можно сделать так, чтобы декодирование и отправка в оперативную память для воспроизведения файла происходила пакетами, для это и необходима функция Декодирование на ходу. Благодаря этой функции есть возможность уменьшить использование оперативной памяти, не занимая ее большими аудиофайлами сразу.

В то же время важно помнить, что, освобождая таким образом оперативную память, вы в то же время загружаете центральный процессор для обработки такого процесса, поэтому необходимо правильно расставить приоритеты: важно ли вам освободить оперативную память или вы, наоборот, не хотите нагружать центральный процессор.

параметр Ресурс аудио; audioResource

Параметр позволяет выбрать ресурс аудио для данного объекта.

Примечание

Можно присвоить как ресурс, так и id ресурса. Подробнее см. Ресурсы.

параметр Громкость; volume

Позволяет установить громкость аудио ресурса. Максимальной громкости соответствует значение 1, беззвучному воспроизведению - значение 0. По умолчанию значение равно 1. Подробнее, см. действие Установить громкость (setVolume)

параметр Панорамирование; pan

Параметр устанавливает распределение звука между стерео-каналами.

-1.000 - звук полностью смещен влево, 1.000 - звук полностью смещен вправо. По умолчанию равен 0.000.

параметр Режим воспроизведения; playMode

Параметр имеет два значения: «один раз» и «повтор». По умолчанию выставлено значение «один раз». Подробнее, см. действие Установить режим проигрывания (setPlayMode)

параметр Декодирование на ходу; liveDecoding

Параметр позволяет установить декодирование «на ходу». При выборе данного параметра декодирование и отправка в оперативную память аудио файла для воспроизведения производится пакетами, что позволяет значительно уменьшить ее расход.

Действия объекта Аудио

../_images/audio3.png
Действие Описание
Установить аудиоресурс (setAudioResource) Позволяет установить новый аудио ресурс для проигрывания.
Установить громкость (setVolume) Позволяет установить громкость воспроизведения, отличную от той, которая установлена в свойствах объектах Аудио.
Установить панорамирование (setPan) Позволяет изменить распределение звуковой волны в пространственном диапазоне звукового поля или, иначе говоря, распределение звука по стереоканалам (влево, вправо, центр).
Установить режим проигрывания (setPlayMode) Позволяет установить новый режим проигрывания аудио ресурса: один раз или повтор.
действие Установить аудио ресурс; setAudioResource(resource)

Установить новый ресурс аудио (параметр Ресурс аудио (audioResource)).

Параметры:Ресурс аудио / audioResource – Новый ресурс аудио, который будет выставлен объекту.

Данный вызов равносилен присваиванию параметра Ресурс аудио (audioResource)

действие Установить громкость; setVolume(volume)

Установить новую громкость проигрывания аудио ресурса, отличную от той, которая установлена в свойствах объектах Аудио (параметр Громкость (volume)).

Параметры:громкость / volume – Новый уровень громкости.
действие Установить панорамирование; setPan(pan)

Установить значение панорамирования. Подробнее см. Панорамирование (pan)

действие Установить режим проигрывания; setPlayMode(mode)

Установить новый режим проигрывания аудио ресурса: один раз или повтор (параметр Режим воспроизведения (playMode)).

Параметры:Режим проигрывания / playMode – Новый режим проигрывания: *Один раз*(AudioReactor.PlayMode.ONCE) или *Повтор*(AudioReactor.PlayMode.LOOP).

События и действия объекта Аудио (управление воспроизведением)

Вводится в AudioReactor

../_images/audio2.png
Событие Описание
Запущен (onStart)

Вызывается при запуске проигрывания аудио ресурса с самого начала.

Например, вам необходимо вместе с аудио запустить анимацию у модели – это событие поможет создать такую логику работы.

Остановлен (onStop)

Вызывается при остановке проигрывания аудио ресурса пользователем.

Например, если в выбранный момент вам необходимо сделать так, чтобы при остановке аудио пользователем поменялось какое-либо изображение – это событие поможет создать такую логику работы.

Приостановлен (onPause)

Вызывается при постановке аудио на паузу.

Например, если вам необходимо, чтобы при постановке аудио на паузу у модели останавливалась анимация – это событие поможет создать такую логику работы.

Возобновлён (onResume)

Вызывается при снятии аудио с паузы.

Например, вам необходимо, чтобы при снятии аудио с паузы у модели возобновлялась анимация – это событие поможет создать такую логику работы.

Завершён (onFinished)

Вызывается по окончании воспроизведения аудио.

Например, если вам необходимо сделать в проекте так, чтобы по завершении проигрывания композиции появлялась надпись “конец”, то это событие поможет создать такую логику работы.

Действие Описание
Проиграть (play)

Позволяет начать воспроизведение установленного аудио ресурса.

Воспроизведение аудио всегда начинается с начала

Остановить (stop) Позволяет остановить воспроизведение и перемотать установленный аудио ресурс в начало.
Приостановить (pause) Позволяет приостановить воспроизведение установленного аудио ресурса (поставить воспроизведение на паузу).
Возобновить (resume) Позволяет возобновить воспроизведение установленного аудио ресурса с того места, где он был приостановлен (снять паузу).
событие Запущен; onStart

Вызывается при запуске проигрывания аудио ресурса с самого начала. При вызове действия Возобновить (resume) данное событие не вызывается. Подробнее, см. действие Проиграть (play).

событие Остановлен; onStop

Вызывается при остановке проигрывания аудио ресурса пользователем. Данное событие возбуждается только при вызове действия Остановить (stop) во время проигрывания аудио.

событие Приостановлен; onPause

Вызывается при постановке аудио на паузу. Данное событие возбуждается только при вызове действия Приостановить (pause) во время проигрывания аудио.

событие Возобновлён; onResume

Вызывается при снятии аудио с паузы. Данное событие возбуждается только при вызове действия Возобновить (resume) для приостановленного аудио.

событие Завершён; onFinished

Вызывается по окончании воспроизведения аудио ресурса. При вызове действия Остановить (stop) данное событие не возникает.

действие Проиграть; play(playMode = AudioReactor.PlayMode.ONCE)

Начать воспроизведение аудио ресурса с начала, независимо от текущего состояния аудио. При вызове приходит событие Запущен (onStart).

Если Режим проигрывания / playMode выставлен как Один раз / AudioReactor.PlayMode.ONCE, то после окончания проигрывания будет вызвано событие Завершён (onFinished). Если режим проигрывания выставлен как Повтор / AudioReactor.PlayMode.LOOP, то проигрывание никогда не закончится само, и, соответственно, событие вызвано не будет. Однако режим проигрывания может быть изменён явно при помощи действия Установить режим проигрывания (setPlayMode).

Параметры:Режим / playMode – Режим проигрывания: AudioReactor.PlayMode.ONCE - проиграть один раз, AudioReactor.PlayMode.LOOP - проигрывать в цикле.

Если в Студии выставлено значение Не менять, будет установлен режим, указанный в параметрах объекта.

Примечание

Вызов с playMode равным nil(если параметр не указан или nil указан явно) начнет воспроизведение с режимом проигрывания AudioReactor.PlayMode.ONCE или установленным до вызова вручную.

действие Остановить; stop()

Остановить воспроизведение и перемотать аудио в начало. Если аудио не было запущено и находится в начальном состоянии, действие не сработает. При успешном вызове приходит событие Остановлен (onStop).

действие Приостановить ; pause()

Поставить воспроизведение аудио на паузу. Если аудио не было запущено и находится в начальном состоянии, действие не сработает. При успешном вызове приходит событие Приостановлен (onPause).

Примечание

Даже если аудио уже стоит на паузе, повторный вызов действия Приостановить (pause) приведет к вызову события Приостановлен (onPause).

действие Возобновить ; resume()

Продолжить воспроизведение аудио ресурса с момента паузы. Если аудио не было запущено и находится в начальном состоянии, действие не сработает. При успешном вызове приходит событие Возобновлён (onResume).

Примечание

Даже если аудио проигрывается в данный момент, вызов действия Возобновлён (onResume) приведет к вызову события Возобновлён (onResume).

Advanced

Вспомогательные методы Описание
isPlaying()

Возвращает true, если аудио ресурс проигрывается в текущий момент и false в обратном случае. Пример кода

local audio = reactorController:getReactorByName("Audio")

if audio:isPlaying() then
  doSomething()
end