ConvolverNode: Eigenschaft buffer

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Die buffer-Eigenschaft des ConvolverNode-Interfaces repräsentiert einen mono, stereo oder 4-Kanal AudioBuffer, der die (möglicherweise mehrkanalige) Impulsantwort enthält, die vom ConvolverNode verwendet wird, um den Halleffekt zu erzeugen.

Dies ist normalerweise eine einfache Aufnahme von einem möglichst impulsähnlichen Geräusch, wie es in dem Raum zu finden ist, den Sie modellieren möchten. Zum Beispiel, wenn Sie den Hall in Ihrem Badezimmer modellieren möchten, könnten Sie ein Mikrofon in der Nähe der Tür aufstellen, um das Geräusch eines platzenden Ballons oder eines synthetisierten Impulses vom Waschbecken aufzunehmen. Diese Audioaufnahme könnte dann als Buffer verwendet werden.

Dieser Audio-Buffer muss dieselbe Abtastrate wie der AudioContext haben, sonst wird eine Ausnahme ausgelöst. Zum Zeitpunkt der Einstellung dieses Attributs werden der Buffer und der Zustand des Attributs verwendet, um den ConvolverNode mit dieser Impulsantwort und der gegebenen Normalisierung zu konfigurieren. Der Anfangswert dieses Attributs ist null.

Wert

Beispiele

Zuweisung eines Audio-Buffers

Das folgende Beispiel erstellt einen Convolver-Knoten und weist ihm einen AudioBuffer zu.

Weitere vollständige angewandte Beispiele/Informationen finden Sie in unserem Voice-change-O-matic Demo (siehe app.js für den unten auszugsweise eingefügten Code).

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

Spezifikationen

Specification
Web Audio API
# dom-convolvernode-buffer

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
buffer

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch