RTCPeerConnection: addTransceiver()-Methode

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

* Some parts of this feature may have varying levels of support.

Die addTransceiver()-Methode der RTCPeerConnection-Schnittstelle erstellt einen neuen RTCRtpTransceiver und fügt ihn der Menge der Transceiver hinzu, die mit der RTCPeerConnection verbunden sind. Jeder Transceiver repräsentiert einen bidirektionalen Stream, mit sowohl einem RTCRtpSender als auch einem RTCRtpReceiver, die damit assoziiert sind.

Syntax

js
addTransceiver(trackOrKind)
addTransceiver(trackOrKind, init)

Parameter

trackOrKind

Ein MediaStreamTrack, das dem Transceiver zugeordnet wird, oder ein String, der als kind des Empfängers track und somit des RTCRtpReceiver selbst verwendet wird.

init Optional

Ein Objekt zur Angabe von Optionen beim Erstellen des neuen Transceivers. Mögliche Werte sind:

direction Optional

Die bevorzugte Richtung des neuen Transceivers. Dieser Wert wird verwendet, um die RTCRtpTransceiver.direction-Eigenschaft des neuen RTCRtpTransceiver-Objekts zu initialisieren.

sendEncodings Optional

Ein Array von Encodings, die beim Senden von RTP-Medien vom RTCRtpSender zugelassen sind. Dies entspricht dem parameter.encodings-Array, das an RTCRtpSender.setParameters() übergeben wird.

streams Optional

Eine Liste von MediaStream-Objekten, die zum RTCRtpReceiver des Transceivers hinzugefügt werden; wenn das track-Ereignis der Remote-Peer's RTCPeerConnection eintritt, sind dies die Streams, die durch dieses Ereignis angegeben werden.

Rückgabewert

Das RTCRtpTransceiver-Objekt, das verwendet wird, um die Mediendaten auszutauschen.

Ausnahmen

TypeError

Wird ausgelöst, wenn trackOrKind weder "audio" noch "video" war.

Wenn das sendEncodings-Argument verwendet wird, kann dieser Fehler auch auftreten, wenn es ein schlecht formatiertes rid-Mitglied gibt, einige, aber nicht alle Encodings ein rid-Mitglied enthalten, oder wenn verschiedene Encodings denselben rid-Wert haben.

RangeError

Wird ausgelöst, wenn eines der sendEncodings-Encodings einen maxFramerate-Wert von weniger als 0.0 oder einen scaleResolutionDownBy-Wert von weniger als 1.0 hat.

InvalidStateError DOMException

Wird ausgelöst, wenn die Methode aufgerufen wird, während die zugehörige Verbindung geschlossen ist.

InvalidAccessError DOMException

Wird ausgelöst, wenn das sendEncodings-Argument verwendet wird und einen schreibgeschützten Parameter außer rid enthält.

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
# dom-rtcpeerconnection-addtransceiver

Browser-Kompatibilität

Siehe auch