RTCPeerConnection: Methode addTransceiver()

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.

Die addTransceiver()-Methode der Schnittstelle RTCPeerConnection erstellt einen neuen RTCRtpTransceiver und fügt ihn zur Menge der mit der RTCPeerConnection assoziierten Transceiver hinzu. Jeder Transceiver repräsentiert einen bidirektionalen Stream, dem sowohl ein RTCRtpSender als auch ein RTCRtpReceiver zugeordnet sind.

Syntax

js
addTransceiver(trackOrKind)
addTransceiver(trackOrKind, init)

Parameter

trackOrKind

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

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 neue RTCRtpTransceiver-Objekteigenschaft RTCRtpTransceiver.direction zu initialisieren.

sendEncodings Optional

Ein Array von Kodierungen, die beim Senden von RTP-Medien vom RTCRtpSender erlaubt 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 RTCPeerConnection des Remote-Peers auftritt, sind dies die Streams, die durch dieses Ereignis spezifiziert werden.

Rückgabewert

Das RTCRtpTransceiver-Objekt, das zum Austauschen der Mediendaten verwendet wird.

Ausnahmen

TypeError

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

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

RangeError

Wird ausgelöst, wenn eine der sendEncodings-Kodierungen einen maxFramerate-Wert kleiner als 0.0 oder einen scaleResolutionDownBy-Wert kleiner als 1.0 hat.

InvalidStateError DOMException

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

InvalidAccessError DOMException

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

Spezifikationen

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

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch