RTCRtpSender: setStreams()-Methode
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
mediaStreamN
Optional-
Eine beliebige Anzahl von
MediaStream
-Objekten, die als Argumente angegeben werden und die Streams identifizieren, zu denen derRTCRtpSender
-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.
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
BCD tables only load in the browser