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 |
瀏覽器相容性
載入中…