RTCRtpSender: setStreams()-Methode
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Mai 2023.
Die Methode setStreams() des RTCRtpSender assoziiert den Sender's track mit den angegebenen MediaStream-Objekten.
Syntax
setStreams()
setStreams(mediaStream1)
setStreams(mediaStream1, mediaStream2)
setStreams(mediaStream1, mediaStream2, /* …, */ mediaStreamN)
Parameter
mediaStreamNOptional-
Eine beliebige Anzahl von
MediaStream-Objekten, die als Argumente angegeben werden und die Streams identifizieren, zu denen derRTCRtpSender-trackgehört. Wenn dieser Parameter nicht angegeben wird, werden keine neuen Streams mit dem Track assoziiert.
Rückgabewert
Keiner (undefined).
Ausnahmen
InvalidStateErrorDOMException-
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.
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> |