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 |
浏览器兼容性
加载中…