MediaStreamAudioSourceNode: MediaStreamAudioSourceNode() Konstruktor

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.

Der MediaStreamAudioSourceNode()-Konstruktor der Web Audio API erzeugt und gibt ein neues MediaStreamAudioSourceNode-Objekt zurück, das die erste Audiospur eines angegebenen MediaStream als Quelle verwendet.

Hinweis: Eine weitere Möglichkeit, ein MediaStreamAudioSourceNode zu erstellen, besteht darin, die Methode AudioContext.createMediaStreamSource() aufzurufen und den Stream anzugeben, aus dem Sie Audio beziehen möchten.

Syntax

js
new MediaStreamAudioSourceNode(context, options)

Parameter

context

Ein AudioContext, der den Audiokontext darstellt, mit dem der Knoten verknüpft werden soll.

options

Ein Objekt, das die Eigenschaften definiert, die das MediaStreamAudioSourceNode haben soll:

mediaStream

Eine erforderliche Eigenschaft, die den MediaStream angibt, aus dem das Audio für den Knoten bezogen werden soll.

Rückgabewert

Ein neues MediaStreamAudioSourceNode-Objekt, das den Audio-Knoten darstellt, dessen Medien aus dem angegebenen Quell-Stream bezogen werden.

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn der angegebene MediaStream keine Audiospuren enthält.

Beispiele

Dieses Beispiel verwendet getUserMedia(), um Zugriff auf die Kamera des Benutzers zu erhalten, und erstellt dann einen neuen MediaStreamAudioSourceNode aus dessen MediaStream.

js
// define variables
const audioCtx = new AudioContext();

// getUserMedia block - grab stream
// put it into a MediaStreamAudioSourceNode
if (navigator.mediaDevices.getUserMedia) {
  navigator.mediaDevices
    .getUserMedia(
      // constraints: audio and video for this app
      {
        audio: true,
        video: false,
      },
    )
    .then((stream) => {
      const options = {
        mediaStream: stream,
      };

      const source = new MediaStreamAudioSourceNode(audioCtx, options);
      source.connect(audioCtx.destination);
    })
    .catch((err) => {
      console.error(`The following gUM error occurred: ${err}`);
    });
} else {
  console.log("new getUserMedia not supported on your browser!");
}

Spezifikationen

Specification
Web Audio API
# dom-mediastreamaudiosourcenode-mediastreamaudiosourcenode

Browser-Kompatibilität

BCD tables only load in the browser