ConvolverNode
Базовая Широко поддерживается
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с апреля 2021 года.
Интерфейс ConvolverNode — это AudioNode, выполняющий линейную свёртку заданного AudioBuffer, часто используемого для создания эффекта реверберации. У ConvolverNode всегда ровно один вход и один выход.
Примечание: Для получения дополнительной информации о теории линейной свёртки см. статью Свёртка на Википедии.
| Количество входов | 1 |
|---|---|
| Количество выходов | 1 |
| Режим количества каналов | "clamped-max" |
| Количество каналов |
1, 2, или 4
|
| Интерпретация каналов | "speakers" |
Конструктор
ConvolverNode()-
Создаёт новый экземпляр объекта
ConvolverNode.
Свойства экземпляра
Наследует свойства от родительского класса, AudioNode.
ConvolverNode.buffer-
Моно-, стерео- или 4-канальный
AudioBuffer, содержащий импульсную характеристику (возможно, многоканальную), используемуюConvolverNodeдля создания эффекта реверберации. ConvolverNode.normalize-
Логическое значение, контролирующее, будет ли импульсная характеристика из буфера масштабироваться с помощью нормализации равной мощности, когда свойство
bufferустановлено, или нет.
Методы экземпляра
Нет специфических методов; наследует методы от родительского класса, AudioNode.
Пример ConvolverNode
Следующий пример демонстрирует базовое использование AudioContext для создания узла свёртки.
Примечание: Вам потребуется найти импульсную характеристику, чтобы завершить пример ниже. См. этот CodePen для примера применения.
let audioCtx = new window.AudioContext();
async function createReverb() {
let convolver = audioCtx.createConvolver();
// load impulse response from file
let response = await fetch("path/to/impulse-response.wav");
let arraybuffer = await response.arrayBuffer();
convolver.buffer = await audioCtx.decodeAudioData(arraybuffer);
return convolver;
}
// …
let reverb = await createReverb();
// someOtherAudioNode -> reverb -> destination
someOtherAudioNode.connect(reverb);
reverb.connect(audioCtx.destination);
Спецификации
| Спецификация |
|---|
| Web Audio API # ConvolverNode |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
ConvolverNode |
55 | 79 | 53 | 42 | 14.1 | 55 | 53 | 42 | 14.5 | 6.0 | 55 |
ConvolverNode |
14 | 12 | 25 | 15 | 6 | 18 | 25 | 14 | 6 | 1.0 | 4.4.3 |
buffer |
14 | 12 | 25 | 15 | 6 | 18 | 25 | 14 | 6 | 1.0 | 4.4.3 |
normalize |
18 | 12 | 25 | 15 | 6 | 18 | 25 | 14 | 6 | 1.0 | 4.4.3 |
См. также
© 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/ConvolverNode