ConvolverNode - Web API 接口参考 编辑

ConvolverNode 接口是一个对给定 AudioBuffer 上执行线性卷积的 AudioNode,一般用来做音频混响效果。每一个 ConvolverNode 都会有一个输入值和输出值。

注意: 更多线性卷积理论的相关信息,请参阅Convolution article on Wikipedia.

Number of inputs1
Number of outputs1
Channel count mode"clamped-max"
Channel count1, 2, or 4
Channel interpretation"speakers"

构造函数

ConvolverNode()
创建一个新的 ConvolverNode 对象实例。

属性

继承其父级的属性, AudioNode.

ConvolverNode.buffer
一个被 ConvolverNode 用来产生混响效果的单声道、立体声或四声道的音频缓冲器,包含了(可能是多声道)脉冲反应(IR)。
ConvolverNode.normalize
布尔值,在设置缓冲区属性时,可绝定是否对来自 buffer 的脉冲反应按等功率归一化进行缩放。

方法

没有具体的方法,从其父继承方法,AudioNode.

ConvolverNode 例子

下面的示例展示了 AudioContext 创建卷积节点的基础用法。

注意: 你需要找到一个脉冲反应来完成下面的示例。可查看 此处 的实例.

let audioCtx = new window.AudioContext();

async function createReverb() {
    let convolver = audioCtx.createConvolver();

    // 从文件加载脉冲反应
    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
Working Draft

浏览器兼容性

BCD tables only load in the browser

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.

相关链接

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:84 次

字数:4439

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文