ConvolverNode
ConvolverNode 介面是一個 AudioNode,它對給定的 AudioBuffer 執行線性卷積,通常用於實現混響效果。ConvolverNode 總是隻有一個輸入和一個輸出。
注意:有關線性卷積背後的理論的更多資訊,請參閱 維基百科上的卷積文章。
| 輸入數量 | 1 |
|---|---|
| 輸出數量 | 1 |
| 通道計數模式 | "clamped-max" |
| 聲道數 | 1、2 或 4 |
| 通道解釋 | “speakers” |
建構函式
ConvolverNode()-
建立一個新的
ConvolverNode物件例項。
例項屬性
繼承自其父級 AudioNode 的屬性.
ConvolverNode.buffer-
一個單聲道、立體聲或 4 聲道的
AudioBuffer,其中包含ConvolverNode用於建立混響效果的(可能是多聲道的)脈衝響應。 ConvolverNode.normalize-
一個布林值,用於控制在設定
buffer屬性時,是否將緩衝區的脈衝響應按等功率歸一化進行縮放。
例項方法
無特定方法;繼承自其父級 AudioNode 的方法.
示例
以下示例顯示了 AudioContext 的基本用法,用於建立一個 convolver 節點。您需要找到一個脈衝響應來完成下面的示例。有關完整的應用示例,請參閱我們的 HolySpaceCow 示例。
js
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 |
瀏覽器相容性
載入中…