BaseAudioContext:createConvolver() 方法

基线 广泛可用

此功能已经很成熟,并且可以在许多设备和浏览器版本中使用。自 2021 年 4 月.

报告反馈

BaseAudioContext 接口的 createConvolver() 方法创建一个 ConvolverNode,它通常用于将混响效果应用于您的音频。有关更多信息,请参见 卷积的规范定义

语法

注意:建议使用 ConvolverNode() 构造函数创建 ConvolverNode;请参见 创建 AudioNode
createConvolver()

js

参数

无。

返回值

示例

一个 ConvolverNode

创建卷积器节点

以下示例演示了如何使用 AudioContext 创建卷积器节点。您将创建一个包含音频样本的 AudioBuffer,该音频样本将用作塑造卷积的音效(称为冲激响应),并将该音效应用于卷积器。以下示例使用了一个简短的音乐厅人群样本,因此应用的混响效果非常深沉且具有回声感。

注意:建议使用 ConvolverNode() 构造函数创建 ConvolverNode;请参见 创建 AudioNode
const audioCtx = new AudioContext();
// ...

const convolver = audioCtx.createConvolver();
// ...

// Grab audio track via fetch() for convolver node
try {
  const response = await fetch(
    "https://mdn.github.io/voice-change-o-matic/audio/concert-crowd.ogg",
  );
  const arrayBuffer = await response.arrayBuffer();
  const decodedAudio = await audioCtx.decodeAudioData(arrayBuffer);
  convolver.buffer = decodedAudio;
} catch (error) {
  console.error(
    `Unable to fetch the audio file: ${name} Error: ${err.message}`,
  );
}

规范

有关更完整的应用示例/信息,请查看我们的 Voice-change-O-matic 演示(有关下面摘录的代码,请参见 app.js)。
Web Audio API
# 规范

浏览器兼容性

dom-baseaudiocontext-createconvolver

另请参阅