Аудиоузел¶
Объект Аудиоузел позволяет добавлять в проект аудиоресурсы с поддержкой позиционирования(аудио 3D), а также управлять воспроизведением, изменять громкость и выбирать аудиофайл. Объект наследуется от Узел (NodeReactor), и может быть добавлен как дочерний в любое место дерева объектов, тем самым позволяя «прикрепить» звук, например, к модели. Позиция родительского объекта влияет на панорамирование звука - позиция слушателя совпадает с позицией виртуальной камеры и звук панорамируется соответственно позиции родительского объекта относительно слушателя.
Примечание
Панорамирование звука это процесс распределения звуковых сигналов в стереофоническом или многоканальном звуковом поле. Панорамирование означает размещение звуков между левым и правым динамиками, создавая ощущение ширины, пространства и глубины.
Работа с объектом Аудиоузел¶
Свойства объекта Аудиоузел¶

Параметр | Описание | Примечание |
---|---|---|
Ресурс аудио (audioResource) | Позволяет выбрать аудиофайл необходимого формата. | При создании объекта «Аудиоузел» ресурс не определен. Для того, чтобы добавить аудиоресурс, необходимо выбрать в списке что-то из заранее добавленных ресурсов аудио или выбрать “Создать новый”, если необходимо использовать звуки, которые еще не были добавлены в ресурсы проекта. Важно Для корректного позиционирования 3D звука необходимо, чтобы аудиоисточник был монофоническим(моно, один звуковой канал), а не стереофоническим(стерео, два звуковых канала). |
Громкость (volume) | Позволяет установить громкость. | Максимальные значения для параметра: 1.000 - соответствует громкости звука, установленной на 100% |
Режим воспроизведения (playMode) | Позволяет выбрать режим проигрывания. | Возможные значения параметра при выборе режима проигрывания: один раз или повтор. |
Декодирование на ходу (liveDecoding) | При выборе данного параметра декодирование и отправка в оперативную память аудио файла для воспроизведения производится пакетами. | Позволяет оптимизировать использование оперативной памяти. |
Динамический (isDynamic) | Указывает, является ли родительский объект динамическим(т.е. его позиция меняется со временем) или статическим(позиция не меняется) | Предназначен для оптимизации: в случае динамического(движущегося) объекта, расчет его позиции и соответствующее позиционирование звука будет производиться при каждом обходе графа. В случае же статического объекта, такой расчет будет производиться всего один раз, что позволяет оптимизировать вычисления. |
Модель затухания (attenuationMode) | Позволяет выбрать модель затухания | Затухание, или ослабление звука - это уменьшение его интенсивности или громкости по мере распространения. Возможен выбор из четырех моделей затухания для 3D звука. |
Коэффициент спада (rolloffFactor) | Позволяет установить коэффициент спада затухания | Коэффициент спада затухания — это параметр, который контролирует, насколько быстро уменьшается воспринимаемая громкость звука по мере того, как слушатель удаляется от источника звука. По сути, он определяет скорость, с которой интенсивность звука «спадает» или затухает с расстоянием. Более высокий коэффициент спада означает, что звук будет затухать быстрее по мере того, как слушатель удаляется, в то время как более низкий коэффициент спада приведет к более медленному затуханию. |
Минимальная дистанция (minDistance) | Позволяет установить минимальное расстояние затухания, в метрах. | Минимальное расстояние - расстояние до слушателя(камеры), после которого звук начнет затухать, т.е. его громкость начнет снижаться в соответствии с выбранной моделью и коэффициентом спада. |
Максимальная дистанция (maxDistance) | Позволяет установить максимальное расстояние затухания, в метрах. | Максимальное расстояние - расстояние до слушателя(камеры), после которого звук перестает затухать, т.е. его громкость, при превышении данного расстояния, останется равной значению при максимальной дистанции. |
Примечание
Декодирование – процесс восстановления исходной формы представления информации.
Аудиофайл, который добавлен в проект, изначально закодирован и состоит из пакетов данных. Прежде чем он будет воспроизведен, он будет декодирован и полностью загружен в оперативную память. Но декодированный файл весит в разы больше, чем закодированный – это значит, что аудиофайл размером 1Мб после декодирования займет в оперативной памяти гораздо больше места, чем 1 Мб. Этот момент может быть критичен, когда в проекте используются аудио большого размера, например, аудио формата .flac.
Однако, можно сделать так, чтобы декодирование и отправка в оперативную память для воспроизведения файла происходила пакетами, для это и необходима функция Декодирование на ходу. Благодаря этой функции есть возможность уменьшить использование оперативной памяти, не занимая ее большими аудиофайлами сразу.
В то же время важно помнить, что, освобождая таким образом оперативную память, вы в то же время загружаете центральный процессор для обработки такого процесса, поэтому необходимо правильно расставить приоритеты: важно ли вам освободить оперативную память или вы, наоборот, не хотите нагружать центральный процессор.
-
параметр
Ресурс аудио;
audioResource
¶ Параметр позволяет выбрать ресурс аудио для данного объекта.
Примечание
Можно присвоить как ресурс, так и id ресурса. Подробнее см. Ресурсы.
-
параметр
Громкость;
volume
¶ Позволяет установить громкость аудиоресурса. Максимальной громкости соответствует значение 1, беззвучному воспроизведению - значение 0. По умолчанию значение равно 1. Подробнее, см. действие Установить громкость (setVolume)
-
параметр
Режим воспроизведения;
playMode
¶ Параметр имеет два значения: «один раз» и «повтор». По умолчанию выставлено значение «один раз». Подробнее, см. действие Установить режим проигрывания (setPlayMode)
-
параметр
Декодирование на ходу;
liveDecoding
¶ Параметр позволяет установить декодирование «на ходу». При выборе данного параметра декодирование и отправка в оперативную память аудио файла для воспроизведения производится пакетами, что позволяет значительно уменьшить ее расход.
-
параметр
Динамический;
isDynamic
¶ Данный параметр предназначен для оптимизации и должен быть указан, только если позиция родительского объекта меняется. По умолчанию, родительский объект считается статическим(позиция не меняется).
-
параметр
Модель затухания;
attenuationMode
¶ Позволяет выбрать одну из четырех моделей затухания(уменьшение интенсивности или громкости по мере распространения) звука. Доступные модели затухания:
- Без затухания. Звук сохраняет начальную громкость и не затухает при изменении расстояния от слушателя(камеры) до объекта.
- Линейное расстояние. Звук линейно затухает при увеличении расстояния от слушателя(камеры) до объекта.
- Обратное расстояние. Звук плавно затухает при увеличении расстояния от слушателя(камеры) до объекта.
- Экспоненциальное расстояние. Звук резко затухает при увеличении расстояния от слушателя(камеры) до объекта.
-
параметр
Коэффициент спада;
rolloffFactor
¶ Этот параметр контролирует, насколько быстро уменьшается воспринимаемая громкость звука по мере того, как слушатель удаляется от источника звука. Если выбрана модель затухания «Линейное расстояние», то данный параметр устанавливает максимальное снижение громкости и задается в интервале от 0 до 1, где 1 - 100% уменьшение громкости на максимальном расстоянии, 0.5 - 50% снижение громкости на максимальном расстоянии и т.д. При других моделях затухания рекомендуются значения больше 1.
-
параметр
Минимальная дистанция;
minDistance
¶ Расстояние до слушателя(камеры), после которого звук начнет затухать, т.е. его громкость начнет снижаться в соответствии с выбранной моделью затухания и коэффициентом спада. Указывается в метрах.
-
параметр
Максимальная дистанция;
maxDistance
¶ Расстояние до слушателя(камеры), после которого звук перестает затухать, т.е. его громкость, при превышении данного расстояния, останется на значении при максимальной дистанции. Указывается в метрах.
Действия объекта Аудио¶

Действие | Описание |
---|---|
Установить аудиоресурс (setAudioResource) | Позволяет установить новый аудиоресурс для проигрывания. |
Установить громкость (setVolume) | Позволяет установить громкость воспроизведения, отличную от той, которая установлена в свойствах объекта «Аудиоузел». |
Установить режим проигрывания (setPlayMode) | Позволяет установить новый режим проигрывания аудиоресурса: один раз или повтор. |
-
действие
Установить аудиоресурс;
setAudioResource
(resource)¶ Установить новый ресурс аудио (параметр Ресурс аудио (audioResource)).
Параметры: Ресурс аудио / audioResource – Новый ресурс аудио, который будет выставлен объекту. Данный вызов равносилен присваиванию параметра Ресурс аудио (audioResource)
-
действие
Установить громкость;
setVolume
(volume)¶ Установить новую громкость проигрывания аудиоресурса, отличную от той, которая установлена в свойствах объекта «Аудиоузел» (параметр Громкость (volume)).
Параметры: громкость / volume – Новый уровень громкости.
-
действие
Установить панорамирование;
setPan
(pan)¶ Установить значение панорамирования. Подробнее см. Панорамирование (pan)
-
действие
Установить режим проигрывания;
setPlayMode
(mode)¶ Установить новый режим проигрывания аудиоресурса: один раз или повтор (параметр Режим воспроизведения (playMode)).
Параметры: Режим проигрывания / playMode – Новый режим проигрывания: „once“ или „loop“.
События и действия объекта Аудиоузел (позиционирование звука)

Действие | Описание |
---|---|
Установить динамический режим (setIsDynamic) | Позволяет установить динамический режим Аудиоузла. |
Установить модель затухания (setAttenuationMode) | Позволяет установить модель затухания. |
Установить коэффициент спада (setRolloffFactor) | Позволяет установить коэффициент затухания. |
Установить минимальное расстояние (setMinDistance) | Позволяет установить минимальное расстояние затухания. |
Установить максимальное расстояние (setMaxDistance) | Позволяет установить максимальное расстояние затухания. |
-
действие
Установить динамический режим;
setIsDynamic
(flag)¶ Установить режим(статический или динамический) для родительского объекта.
Параметры: Значение / flag – Динамический(если true) или статический(если false).
-
действие
Установить модель затухания;
setAttenuationMode
(mode)¶ Установить модель затухания для Аудиоузла из 4 доступных моделей.
Параметры: модель / mode – Модель затухания. Возможные значения:
- Без затухания(AudioNodeReactor.AttenuationMode.NO_ATTENUATION)
- Линейное расстояние(AudioNodeReactor.AttenuationMode.LINEAR_DISTANCE)
- Обратное расстояние(AudioNodeReactor.AttenuationMode.INVERSE_DISTANCE)
- Экспоненциальное расстояние(AudioNodeReactor.AttenuationMode.EXPONENTIAL_DISTANCE)
-
действие
Установить коэффициент спада;
setRolloffFactor
(factor)¶ Установить коэффициент спада затухания.
Параметры: factor / коэффициент – Коэффициент спада затухания.
-
действие
Установить минимальное расстояние;
setMinDistance
(distance)¶ Установить минимальное расстояние затухания.
Параметры: distance / расстояние – Минимальное расстояние, после которого звук начнет затухать.
-
действие
Установить максимальное расстояние;
setMaxDistance
(distance)¶ Установить максимальное расстояние затухания.
Параметры: distance / расстояние – Максимальное расстояние, после которого звук перестает затухать.

Событие | Описание |
---|---|
Слышен (onAudible) | Вызывается, когда звук становится слышен. |
Не слышен (onInaudible) | Вызывается, когда звук становится не слышен. |
-
событие
Слышен;
onAudible
¶ Если у объекта «Аудиоузел» установлена модель затухания, то в связи с позиционированием звука в трехмерном пространстве, в зависимости от расстояния от слушателя(камеры) до родительского объекта, аудио может быть как слышно, так и не слышно вовсе. Данное событие наступает, когда звук становится слышен, что может произойти, если аудио начало проигрываться и эффект затухания незначителен(или полностью отсутствует), или, например, при приближении к источнику звука, которое было не слышно до этого в связи с затуханием.
-
событие
Не слышен;
onInaudible
¶ Если у объекта «Аудиоузел» установлена модель затухания, то в связи с позиционированием звука в трехмерном пространстве, в зависимости от расстояния от слушателя(камеры) до родительского объекта, аудио может быть как слышно, так и не слышно вовсе. Данное событие наступает, когда звук становится не слышен, что происходит, если аудио начало проигрываться и эффект затухания значителен, или когда звук был изначально слышен, но в связи с расстоянием до объекта эффект затухания снизил его громкость до нижнего предела.
События и действия объекта Аудиоузел (управление воспроизведением)¶
Вводится в AudioReactor

Событие | Описание |
---|---|
Запущен (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 указан явно) начнет воспроизведение с режимом проигрывания once или установленным до вызова вручную.
-
действие
Остановить;
stop
()¶ Остановить воспроизведение и перемотать аудио в начало. Если аудио не было запущено и находится в начальном состоянии, действие не сработает. При успешном вызове приходит событие Остановлен (onStop).
-
действие
Приостановить ;
pause
()¶ Поставить воспроизведение аудио на паузу. Если аудио не было запущено и находится в начальном состоянии, действие не сработает. При успешном вызове приходит событие Приостановлен (onPause).
Примечание
Даже если аудио уже стоит на паузе, повторный вызов действия Приостановить (pause) приведет к вызову события Приостановлен (onPause).
-
действие
Возобновить ;
resume
()¶ Продолжить воспроизведение аудиоресурса с момента паузы. Если аудио не было запущено и находится в начальном состоянии, действие не сработает. При успешном вызове приходит событие Возобновлён (onResume).
Примечание
Даже если аудио проигрывается в данный момент, вызов действия Возобновлён (onResume) приведет к вызову события Возобновлён (onResume).
Advanced¶
Вспомогательные методы | Описание |
---|---|
isPlaying() |
Возвращает local audio = reactorController:getReactorByName("Audio")
if audio:isPlaying() then
doSomething()
end
|