RTCRtpSender: setStreams()-Methode

Die Methode setStreams() des RTCRtpSender assoziiert den Sender's track mit den angegebenen MediaStream-Objekten.

Syntax

js
setStreams()
setStreams(mediaStream1)
setStreams(mediaStream1, mediaStream2)
setStreams(mediaStream1, mediaStream2, /* …, */ mediaStreamN)

Parameter

mediaStreamN Optional

Eine beliebige Anzahl von MediaStream-Objekten, die als Argumente angegeben werden und die Streams identifizieren, zu denen der RTCRtpSender-track gehört. Wenn dieser Parameter nicht angegeben wird, werden keine neuen Streams mit dem Track assoziiert.

Rückgabewert

Keiner (undefined).

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn die Verbindung des Senders geschlossen ist.

Beschreibung

setStreams() ist rein additiv. Es entfernt den Track nicht aus vorhandenen Streams; es fügt ihn neuen hinzu. Wenn Sie Streams angeben, zu denen der Track bereits gehört, bleibt dieser Stream unverändert.

Sobald der Track zu allen Streams hinzugefügt wurde, wird eine Neuverhandlung der Verbindung durch das Auslösen des negotiationneeded-Ereignisses an den RTCPeerConnection ausgelöst, zu dem der Sender gehört.

Beispiele

Dieses Beispiel fügt alle Tracks eines RTCPeerConnection dem angegebenen Stream hinzu.

js
function addTracksToStream(stream) {
  let senders = pc.getSenders();

  senders.forEach((sender) => {
    if (sender.track && sender.transport.state === connected) {
      sender.setStreams(stream);
    }
  });
}

Nach dem Aufruf der Methode getSenders() des RTCPeerConnection, um die Liste der Sender der Verbindung zu erhalten, iteriert die Funktion addTracksToStream() über die Liste. Für jeden Sender, wenn der Track des Senders nicht null und der Zustand seines Transports connected ist, rufen wir setStreams() auf, um den Track zu dem angegebenen stream hinzuzufügen.

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
# dom-rtcrtpsender-setstreams

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
setStreams

Legend

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

Full support
Full support