BaseAudioContext:createConvolver() 方法
BaseAudioContext 接口的 createConvolver() 方法会创建一个 ConvolverNode,该节点通常用于为音频应用混响效果。有关卷积的更多信息,请参阅 卷积的规范定义。
注意: 推荐使用 ConvolverNode() 构造函数来创建 ConvolverNode;请参阅 创建 AudioNode。
语法
js
createConvolver()
参数
无。
返回值
一个 ConvolverNode。
示例
创建卷积节点
下面的示例展示了如何使用 AudioContext 创建一个卷积节点。您会创建一个包含音频样本的 AudioBuffer,该样本用作塑造卷积(称为脉冲响应)的氛围,并将其应用于卷积器。下面的示例使用了短促的音乐会现场人群采样,因此应用的混响效果非常深沉且具有回声感。
有关更完整的应用示例/信息,请查看我们的 Voice-change-O-matic 演示(下面摘录的代码请参阅 app.js)。
js
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}`,
);
}
规范
| 规范 |
|---|
| Web Audio API # dom-baseaudiocontext-createconvolver |
浏览器兼容性
加载中…