MediaStreamTrackAudioSourceNode: MediaStreamTrackAudioSourceNode() Konstruktor

Der MediaStreamTrackAudioSourceNode() Konstruktor der Web Audio API erstellt und gibt ein neues MediaStreamTrackAudioSourceNode-Objekt zurück, dessen Audio von dem im angegebenen Optionsobjekt angegebenen MediaStreamTrack stammt.

Eine andere Möglichkeit, einen MediaStreamTrackAudioSourceNode zu erstellen, besteht darin, die Methode AudioContext.createMediaStreamTrackSource() aufzurufen und den MediaStreamTrack anzugeben, von dem Sie Audio erhalten möchten.

Syntax

js
new MediaStreamTrackAudioSourceNode(context, options)

Parameter

context

Ein AudioContext, der den Audio-Kontext repräsentiert, mit dem der Knoten verbunden werden soll.

options

Ein Objekt, das die Eigenschaften definiert, die der MediaStreamTrackAudioSourceNode haben soll:

mediaStreamTrack

Der MediaStreamTrack, von dem Audiodaten für die Ausgabe dieses Knotens genommen werden sollen.

Rückgabewert

Ein neues MediaStreamTrackAudioSourceNode-Objekt, das den Audio-Knoten darstellt, dessen Medien vom angegebenen Medientrack bezogen werden.

Ausnahmen

NotSupportedError DOMException

Wird ausgelöst, wenn der angegebene context kein AudioContext ist.

InvalidStateError DOMException

Wird ausgelöst, wenn der angegebene MediaStreamTrack kein Audiotrack ist (d. h. dessen kind-Eigenschaft nicht audio ist).

Beispiel

Dieses Beispiel verwendet getUserMedia(), um Zugriff auf die Kamera des Benutzers zu erhalten, und erstellt dann einen neuen MediaStreamAudioSourceNode aus dem ersten vom Gerät bereitgestellten Audiotrack.

js
const audioCtx = new AudioContext();

if (navigator.mediaDevices.getUserMedia) {
  navigator.mediaDevices
    .getUserMedia({
      audio: true,
      video: false,
    })
    .then((stream) => {
      const options = {
        mediaStreamTrack: stream.getAudioTracks()[0],
      };

      const source = new MediaStreamTrackAudioSourceNode(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-mediastreamtrackaudiosourcenode-mediastreamtrackaudiosourcenode

Browser-Kompatibilität

BCD tables only load in the browser