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
addTransceiver(trackOrKind)
addTransceiver(trackOrKind, init)
Parameter
trackOrKind
-
Ein
MediaStreamTrack
, das dem Transceiver zugeordnet wird, oder ein String, der alskind
des Empfängerstrack
und somit desRTCRtpReceiver
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 neuenRTCRtpTransceiver
-Objekts zu initialisieren. sendEncodings
Optional-
Ein Array von Encodings, die beim Senden von RTP-Medien vom
RTCRtpSender
zugelassen sind. Dies entspricht demparameter.encodings
-Array, das anRTCRtpSender.setParameters()
übergeben wird. streams
Optional-
Eine Liste von
MediaStream
-Objekten, die zumRTCRtpReceiver
des Transceivers hinzugefügt werden; wenn dastrack
-Ereignis der Remote-Peer'sRTCPeerConnection
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 formatiertesrid
-Mitglied gibt, einige, aber nicht alle Encodings einrid
-Mitglied enthalten, oder wenn verschiedene Encodings denselbenrid
-Wert haben. RangeError
-
Wird ausgelöst, wenn eines der
sendEncodings
-Encodings einenmaxFramerate
-Wert von weniger als 0.0 oder einenscaleResolutionDownBy
-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ßerrid
enthält.
Spezifikationen
Specification |
---|
WebRTC: Real-Time Communication in Browsers # dom-rtcpeerconnection-addtransceiver |
Browser-Kompatibilität
Siehe auch
- WebRTC API
- Einführung in das Real-time Transport Protocol (RTP)
RTCPeerConnection.addTrack()
erstellt ebenfalls TransceiverRTCRtpReceiver
undRTCRtpSender