AudioBufferSourceNode: Buffer-Eigenschaft

Baseline Widely available

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

Die buffer-Eigenschaft der AudioBufferSourceNode-Schnittstelle ermöglicht es, Audio unter Verwendung eines AudioBuffer als Quelle der Klangdaten wiederzugeben.

Wenn die buffer-Eigenschaft auf den Wert null gesetzt ist, erzeugt der Knoten einen einzelnen Kanal, der Stille enthält (d.h. jeder Sample-Wert ist 0).

Wert

Ein AudioBuffer, das die Daten enthält, die den Klang repräsentieren, den der Knoten abspielen wird.

Beispiele

Hinweis: Für ein vollständiges lauffähiges Beispiel, sehen Sie sich dieses live laufende Beispiel an oder betrachten Sie den Quellcode.

js
const myArrayBuffer = audioCtx.createBuffer(2, frameCount, audioCtx.sampleRate);

button.onclick = () => {
  // Fill the buffer with white noise;
  // just random values between -1.0 and 1.0
  for (let channel = 0; channel < channels; channel++) {
    // This gives us the actual ArrayBuffer that contains the data
    const nowBuffering = myArrayBuffer.getChannelData(channel);
    for (let i = 0; i < frameCount; i++) {
      // Math.random() is in [0; 1.0]
      // audio needs to be in [-1.0; 1.0]
      nowBuffering[i] = Math.random() * 2 - 1;
    }
  }

  // Get an AudioBufferSourceNode.
  // This is the AudioNode to use when we want to play an AudioBuffer
  const source = audioCtx.createBufferSource();
  // set the buffer in the AudioBufferSourceNode
  source.buffer = myArrayBuffer;
};

Spezifikationen

Specification
Web Audio API
# dom-audiobuffersourcenode-buffer

Browser-Kompatibilität

Siehe auch