Создаёт непозиционный (глобальный) аудиообъект.
Для этого используется Web Audio API.
// создаём AudioListener и привязываем его к камере
const listener = new v3d.AudioListener();
camera.add(listener);
// создаём глобальный источник аудио
const sound = new v3d.Audio(listener);
// загружаем звук
const audioLoader = new v3d.AudioLoader();
audioLoader.load('mysound.mp3', function(buffer) {
sound.setBuffer(buffer);
sound.setLoop(true);
sound.setVolume(0.5);
sound.play();
});
listener — (обязательный) экземпляр слушателя AudioListener.
Должно ли воспроизведение начинаться автоматически. По умолчанию false
.
AudioContext слушателя, заданного в конструкторе.
Изменение высоты тона, измеряется в центах. +/- 100 - это полутон. +/- 1200 - октава. По умолчанию 0
.
Представляет собой массив BiquadFilterNodes. Может использоваться для применения различных фильтров низжего порядка для создания более сложных звуковых эффектов. Фильтры устанавливаются через Audio.setFilter или Audio.setFilters.
Узел GainNode, созданный с помощью AudioContext.createGain().
Можно ли управлять воспроизведением с помощью методов play(), pause() и т.д.. По умолчанию true
.
Воспроизводится ли аудио в данный момент.
Ссылка на объект-слушатель.
Скорость воспроизведения. По умолчанию 1
.
Смещение до времени в аудиобуфере, когда должно начаться воспроизведение. Аналогично параметру offset
в AudioBufferSourceNode.start(). По умолчанию 0
.
Переопределяет длительность аудио. Аналогично параметру duration
в AudioBufferSourceNode.start(). По умолчанию undefined
для воспроизведения всего буфера.
Нода AudioBufferSourceNode, созданная с помощью AudioContext.createBufferSource().
Тип источника звука. По умолчанию это строка 'empty'.
Строка, обозначающая тип объекта. Всегда "Audio"
.
Подключить к Audio.source. Внутренний метод, используется при инициализации и при установке/удалении фильтров.
Отключить от Audio.source. Внутренний метод, используется при установке/удалении фильтров.
Возвращает коэффициент изменения высоты тона (в центах).
Возвращает первый элемент массива filters.
Возвращает массив filters.
Возвращает значение параметра source.loop (должно ли воспроизведение зацикливаться).
Возвращает gainNode.
Возвращает значение параметра playbackRate.
Возвращает текущую громкость.
Если hasPlaybackControl равно true, начинает воспроизведение.
Если hasPlaybackControl равно true, приостанавливает воспроизведение.
Вызывается автоматически по окончании воспроизведения.
Устанавливает audioBuffer в source, и "buffer"
в sourceType. Если autoplay установлен, также запускает воспроизведение.
Устанавливает коэффициент изменения высоты тона (в центах).
Применяет один фильтр к аудио.
value - массивы фильтров.
Применяет массив фильтров к аудио.
Устанавливает source.loop в value
(должно ли воспроизведение зацикливаться).
Устанавливает source.loopStart в value
.
Устанавливает source.loopEnd в value
.
Применяет данный объект типа HTMLMediaElement в качестве источника аудио. Также устанавливает hasPlaybackControl в false.
Применяет данный объект типа MediaStream в качестве источника данного аудио. Также устанавливает hasPlaybackControl в false.
Устанавливает source в audioBuffer и устанавливает sourceType в "audioNode"
. Также устанавливает hasPlaybackControl в false.
Если hasPlaybackControl включен, устанавливает playbackRate в value
.
Устанавливает уровень громкости.
Если hasPlaybackControl включен, останавливает воспроизведение.
«Вердж3Д» поддерживает ряд пазлов аудио, упрощающих работу со звуками и музыкой.
О том как получить исходный код этого модуля читайте тут.