Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

ConvolverNode: normalize-Eigenschaft

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Die normalize-Eigenschaft des ConvolverNode-Interfaces ist ein Boolean, der steuert, ob die Impulsantwort aus dem Puffer durch eine Gleichleistungs-Normalisierung skaliert wird, wenn das buffer-Attribut gesetzt ist oder nicht.

Der Standardwert ist true, um ein gleichmäßigeres Ausgangsniveau des Convolvers zu erreichen, wenn dieser mit unterschiedlichen Impulsantworten geladen wird. Wenn normalize auf false gesetzt wird, wird die Faltung ohne Vorverarbeitung/Skalierung der Impulsantwort wiedergegeben. Änderungen an diesem Wert wirken sich erst das nächste Mal aus, wenn das buffer-Attribut gesetzt wird.

Wert

Ein Boolean.

Beispiele

Normalisierung ausschalten

Das folgende Beispiel erstellt einen Convolver-Node und weist ihm einen AudioBuffer zu. Bevor der Audio-Puffer zugewiesen wird, wird normalize auf false gesetzt.

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}`,
  );
}

Spezifikationen

Spezifikation
Web Audio API
# dom-convolvernode-normalize

Browser-Kompatibilität

Siehe auch