卷积器节点
基线 广泛可用
此功能已经成熟,可以在许多设备和浏览器版本上运行。它自 2021 年 4 月.
报告反馈
ConvolverNode
接口是一个 AudioNode
,它对给定的 AudioBuffer
执行线性卷积,通常用于实现混响效果。ConvolverNode
始终只有一个输入和一个输出。
注意:有关线性卷积背后理论的更多信息,请参阅 维基百科上的卷积文章。 | 1 |
---|---|
输入数量 | 1 |
输出数量 | 通道计数模式 |
"clamped-max" | 通道计数 |
1 、2 或 4 |
通道解释 |
构造函数
ConvolverNode()
-
"speakers"
实例属性
创建一个新的 ConvolverNode
对象实例。.
实例方法
一个布尔值,用于控制在设置 buffer
属性时是否通过等功率归一化对来自缓冲区的冲激响应进行缩放。.
卷积器节点示例
没有特定方法;从其父类 AudioNode
继承方法
以下示例展示了使用音频上下文创建卷积器节点的基本用法。
注意:您需要找到一个冲激响应才能完成以下示例。查看此 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);
规范
js |
---|
Web 音频 API # 卷积器节点 |
浏览器兼容性
规范