BaseAudioContext
Базовая Широко поддерживается
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с апреля 2021 года.
Интерфейс BaseAudioContext из API Веб-аудио служит базовым определением для онлайн и офлайн графиков обработки звука, представленных соответственно AudioContext и OfflineAudioContext. Вы не будете использовать BaseAudioContext напрямую — вы будете использовать его функции через один из этих двух интерфейсов-наследников.
Объект BaseAudioContext может быть целевым для событий, поэтому он реализует интерфейс EventTarget.
Свойства экземпляра
-
BaseAudioContext.audioWorkletТолько для чтения Безопасный контекст -
Возвращает объект
AudioWorklet, который можно использовать для создания и управленияAudioNodeв которых JavaScript-код, реализующий интерфейсAudioWorkletProcessor, выполняется в фоновом режиме для обработки аудиоданных. -
BaseAudioContext.currentTimeТолько для чтения -
Возвращает число с плавающей точкой, представляющее постоянно увеличивающееся аппаратное время в секундах, используемое для планирования. Оно начинается с
0. -
BaseAudioContext.destinationТолько для чтения -
Возвращает
AudioDestinationNode, представляющий конечный пункт назначения всего звука в контексте. Его можно рассматривать как устройство рендеринга звука. -
BaseAudioContext.listenerТолько для чтения -
Возвращает объект
AudioListener, используемый для 3D пространственной локализации. -
BaseAudioContext.sampleRateТолько для чтения -
Возвращает число с плавающей точкой, представляющее частоту дискретизации (в выборках в секунду), используемую всеми узлами в этом контексте. Частота дискретизации
AudioContextне может быть изменена. -
BaseAudioContext.stateТолько для чтения -
Возвращает текущее состояние
AudioContext.
Методы экземпляра
Также реализует методы из интерфейса EventTarget.
BaseAudioContext.createAnalyser()-
Создаёт
AnalyserNode, который можно использовать для отображения данных по времени и частоте звука, а также для создания визуализации данных. BaseAudioContext.createBiquadFilter()-
Создаёт
BiquadFilterNode, который представляет собой фильтр второго порядка, настраиваемый как несколько разных стандартных типов фильтров: высокочастотный, низкочастотный, полосовой и т.д. BaseAudioContext.createBuffer()-
Создаёт новый пустой объект
AudioBuffer, который затем можно заполнить данными и воспроизвести черезAudioBufferSourceNode. BaseAudioContext.createBufferSource()-
Создаёт
AudioBufferSourceNode, который можно использовать для воспроизведения и управления аудиоданными, содержащимися в объектеAudioBuffer.AudioBufferсоздаются с помощьюAudioContext.createBuffer()или возвращаютсяAudioContext.decodeAudioData(), когда он успешно декодирует аудиодорожку. BaseAudioContext.createConstantSource()-
Создаёт объект
ConstantSourceNode, который является источником звука, непрерывно выводающий монофонический (одного канала) звуковой сигнал, образцы которого все имеют одинаковое значение. BaseAudioContext.createChannelMerger()-
Создаёт
ChannelMergerNode, который используется для объединения каналов из нескольких аудиопотоков в один аудиопоток. BaseAudioContext.createChannelSplitter()-
Создаёт
ChannelSplitterNode, который используется для доступа к отдельным каналам аудиопотока и обработки их по отдельности. BaseAudioContext.createConvolver()-
Создаёт
ConvolverNode, который можно использовать для применения эффектов свёртки к вашему аудиографу, например, эха. BaseAudioContext.createDelay()-
Создаёт
DelayNode, который используется для задержки входящего аудиосигнала на определённое время. Этот узел также полезен для создания обратных связей в аудиографе Web Audio API. BaseAudioContext.createDynamicsCompressor()-
Создаёт
DynamicsCompressorNode, который может быть использован для применения акустического сжатия к аудиосигналу. BaseAudioContext.createGain()-
Создаёт
GainNode, который может использоваться для управления общим уровнем громкости аудиографа. BaseAudioContext.createIIRFilter()-
Создаёт
IIRFilterNode, который представляет собой фильтр второго порядка, настраиваемый как несколько разных стандартных типов фильтров. BaseAudioContext.createOscillator()-
Создаёт
OscillatorNode, источник, представляющий периодическую форму волны. В основном генерирует тон. BaseAudioContext.createPanner()-
Создаёт
PannerNode, который используется для пространственной локализации входящего аудиопотока в 3D пространстве. BaseAudioContext.createPeriodicWave()-
Создаёт
PeriodicWave, используемый для определения периодической формы волны, которая может быть использована для определения выходного сигналаOscillatorNode. -
BaseAudioContext.createScriptProcessor()Устаревший -
Создаёт
ScriptProcessorNode, который может использоваться для непосредственной обработки звука через JavaScript. BaseAudioContext.createStereoPanner()-
Создаёт
StereoPannerNode, который можно использовать для применения стереопанорамирования к источнику звука. BaseAudioContext.createWaveShaper()-
Создаёт
WaveShaperNode, который используется для реализации нелинейных эффектов искажения. BaseAudioContext.decodeAudioData()-
Асинхронно декодирует аудиоданные файла, содержащиеся в
ArrayBuffer. В этом случае,ArrayBufferобычно загружается из атрибутаresponseобъектаXMLHttpRequestпосле установкиresponseTypeнаarraybuffer. Этот метод работает только с полными файлами, а не фрагментами аудиофайлов.
События
statechange-
Срабатывает, когда состояние
AudioContextизменяется из-за вызова одного из методов изменения состояния (AudioContext.suspend,AudioContext.resumeилиAudioContext.close).
Примеры
const audioContext = new AudioContext(); const oscillatorNode = audioContext.createOscillator(); const gainNode = audioContext.createGain(); const finish = audioContext.destination;
Спецификации
| Спецификация |
|---|
| Web Audio API # BaseAudioContext |
Совместимость браузеров
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
BaseAudioContext |
5614–56Сам интерфейсBaseAudioContext отсутствует, но многие методы доступны в интерфейсах AudioContext и OfflineAudioContext. |
7912–79Сам интерфейсBaseAudioContext отсутствует, но многие методы доступны в интерфейсах AudioContext и OfflineAudioContext. |
5325–53Сам интерфейсBaseAudioContext отсутствует, но многие методы доступны в интерфейсах AudioContext и OfflineAudioContext. |
4315–43Сам интерфейсBaseAudioContext отсутствует, но многие методы доступны в интерфейсах AudioContext и OfflineAudioContext. |
14.16–14.1Сам интерфейсBaseAudioContext отсутствует, но многие методы доступны в интерфейсах AudioContext и OfflineAudioContext. |
5618–56Сам интерфейсBaseAudioContext отсутствует, но многие методы доступны в интерфейсах AudioContext и OfflineAudioContext. |
5325–53Сам интерфейсBaseAudioContext отсутствует, но многие методы доступны в интерфейсах AudioContext и OfflineAudioContext. |
4314–43Сам интерфейсBaseAudioContext отсутствует, но многие методы доступны в интерфейсах AudioContext и OfflineAudioContext. |
14.56–14.5Сам интерфейсBaseAudioContext отсутствует, но многие методы доступны в интерфейсах AudioContext и OfflineAudioContext. |
6.01.0–6.0Сам интерфейсBaseAudioContext отсутствует, но многие методы доступны в интерфейсах AudioContext и OfflineAudioContext. |
56≤37–56Сам интерфейсBaseAudioContext отсутствует, но многие методы доступны в интерфейсах AudioContext и OfflineAudioContext. |
|---|---|---|---|---|---|---|---|---|---|---|---|
audioWorklet |
66 | 79 | 76 | 53 | 14.1 | 66 | 79 | 47 | 14.5 | 9.0 | 66 |
createAnalyser |
14 | 12 | 25 | 15 | 6 | 18 | 25 | 14 | 6 | 1.0 | 4.4.3 |
createBiquadFilter |
14 | 12 | 25 | 15 | 6 | 18 | 25 | 14 | 6 | 1.0 | 4.4.3 |
createBuffer |
14 | 12 | 25 | 15 | 6 | 18 | 25 | 14 | 6 | 1.0 | 4.4.3 |
createBufferSource |
14 | 12 | 25 | 15 | 6 | 18 | 25 | 14 | 6 | 1.0 | 4.4.3 |
createChannelMerger |
14 | 12 | 25 | 15 | 6 | 18 | 25 | 14 | 6 | 1.0 | 4.4.3 |
createChannelSplitter |
14 | 12 | 25 | 15 | 6 | 18 | 25 | 14 | 6 | 1.0 | 4.4.3 |
createConstantSource |
56 | 79 | 52 | 43 | 14.1 | 56 | 52 | 43 | 14.5 | 6.0 | 56 |
createConvolver |
14 | 12 | 25 | 15 | 6 | 18 | 25 | 14 | 6 | 1.0 | 4.4.3 |
createDelay |
24 | 12 | 25 | 15 | 7 | 25 | 25 | 14 | 7 | 1.5 | ≤37 |
createDynamicsCompressor |
14 | 12 | 25 | 15 | 6 | 18 | 25 | 14 | 6 | 1.0 | 4.4.3 |
createGain |
24 | 12 | 25 | 15 | 7 | 25 | 25 | 14 | 7 | 1.5 | ≤37 |
createIIRFilter |
49 | 14 | 50 | 36 | 14.1 | 49 | 50 | 36 | 14.5 | 5.0 | 49 |
createOscillator |
20 | 12 | 25 | 15 | 6 | 25 | 25 | 14 | 6 | 1.5 | 4.4 |
createPanner |
14 | 12 | 25 | 15 | 6 | 18 | 25 | 14 | 6 | 1.0 | 4.4.3 |
createPeriodicWave |
30 | 12 | 25 | 17 | 8 | 30 | 25 | 18 | 8 | 2.0 | 4.4 |
createScriptProcessor |
24 | 12 | 25 | 15 | 7 | 25 | 25 | 14 | 7 | 1.5 | ≤37 |
|---|---|---|---|---|---|---|---|---|---|---|---|
createStereoPanner |
41 | 12 | 37 | 28 | 14.1 | 41 | 37 | 28 | 14.5 | 4.0 | 41 |
createWaveShaper |
15 | 12 | 25 | 15 | 6 | 18 | 25 | 14 | 6 | 1.0 | 4.4.3 |
currentTime |
14 | 12 | 25 | 15 | 6 | 18 | 25 | 14 | 6 | 1.0 | 4.4.3 |
decodeAudioData |
14 | 12 | 25 | 15 | 6 | 18 | 25 | 14 | 6 | 1.0 | 4.4.3 |
destination |
14 | 12 | 25 | 15 | 6 | 18 | 25 | 14 | 6 | 1.0 | 4.4.3 |
listener |
14 | 12 | 25 | 15 | 6 | 18 | 25 | 14 | 6 | 1.0 | 4.4.3 |
sampleRate |
14 | 12 | 25 | 15 | 6 | 18 | 25 | 14 | 6 | 1.0 | 4.4.3 |
state |
41 | 14 | 40 | 28 | 9 | 41 | 40 | 28 | 9 | 4.0 | 41 |
statechange_event |
41 | 14 | 40 | 28 | 9 | 41 | 40 | 28 | 9 | 4.0 | 41 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext