ConvolverNode: normalize 屬性

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

ConvolverNode 介面的 normalize 屬性是一個布林值,用於控制當設定 buffer 屬性時,是否對緩衝區中的脈衝響應進行等功率歸一化縮放。

其預設值為 true,以便在使用不同的脈衝響應載入時,從卷積器獲得更均勻的輸出電平。如果將 normalize 設定為 false,則渲染卷積時將不對脈衝響應進行預處理/縮放。對該值的更改直到下一次設定 buffer 屬性時才會生效。

布林值。

示例

關閉歸一化

以下示例建立了一個卷積器節點併為其分配了一個 AudioBuffer。在分配音訊緩衝區之前,它將 normalize 設定為 false

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.normalize = false; // must be set before the buffer, to take effect
  convolver.buffer = decodedAudio;
} catch (error) {
  console.error(
    `Unable to fetch the audio file: ${name} Error: ${err.message}`,
  );
}

規範

規範
Web Audio API
# dom-convolvernode-normalize

瀏覽器相容性

另見