RTCPeerConnection: addTransceiver() method
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.
The addTransceiver() method of the RTCPeerConnection interface creates a new RTCRtpTransceiver and adds it to the set of transceivers associated with the RTCPeerConnection.
Each transceiver represents a bidirectional stream, with both an RTCRtpSender and an RTCRtpReceiver associated with it.
Syntax
addTransceiver(trackOrKind)
addTransceiver(trackOrKind, init)
Parameters
trackOrKind-
A
MediaStreamTrackto associate with the transceiver, or a string which is used as thekindof the receiver'strack, and by extension of theRTCRtpReceiveritself. initOptional-
An object for specifying any options when creating the new transceiver. Possible values are:
directionOptional-
The new transceiver's preferred directionality. This value is used to initialize the new
RTCRtpTransceiverobject'sRTCRtpTransceiver.directionproperty. sendEncodingsOptional-
An array of encodings to allow when sending RTP media from the
RTCRtpSender. This is the same as theparameter.encodingsarray passed toRTCRtpSender.setParameters(). streamsOptional-
A list of
MediaStreamobjects to add to the transceiver'sRTCRtpReceiver; when the remote peer'sRTCPeerConnection'strackevent occurs, these are the streams that will be specified by that event.
Return value
The RTCRtpTransceiver object which will be used to exchange the media data.
Exceptions
TypeError-
Thrown if
trackOrKindwas not either"audio"or"video".If the
sendEncodingsargument is used, this error may also be thrown if there is a badly formattedridmember, some but not all encodings contain aridmember, or different encodings have the sameridvalue. RangeError-
Thrown if any of the
sendEncodingsencodings have amaxFrameratevalue less than 0.0, or ascaleResolutionDownByvalue of less than 1.0. InvalidStateErrorDOMException-
Thrown if the method is called when the associated connection is closed.
InvalidAccessErrorDOMException-
Thrown if the
sendEncodingsargument is used, and contains a read-only parameter other thanrid.
Specifications
| Specification |
|---|
| WebRTC: Real-Time Communication in Browsers> # dom-rtcpeerconnection-addtransceiver> |
Browser compatibility
Loading…
See also
- WebRTC API
- Introduction to the Real-time Transport Protocol (RTP)
RTCPeerConnection.addTrack()also creates transceiversRTCRtpReceiverandRTCRtpSender