The RTCPeerConnection method addTransceiver() 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
rtpTransceiver = RTCPeerConnection.addTransceiver(trackOrKind, init);
Parameters
trackOrKind- A
MediaStreamTrackto associate with the transceiver, or aDOMStringwhich is used as thekindof the receiver'strack, and by extension of theRTCRtpReceiveritself. initOptional- An object that conforms to the
RTCRtpTransceiverInitdictionary which provides any options that you may wish to specify 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- A list of encodings to allow when sending RTP media from the
RTCRtpSender. Each entry is of typeRTCRtpEncodingParameters. 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.
Exceptions
TypeError- A string was specified as
trackOrKindwhich is not valid. The string must be either"audio"or"video".
Specifications
| Specification | Status | Comment |
|---|---|---|
| WebRTC 1.0: Real-time Communication Between Browsers The definition of 'RTCPeerConnection.addTransceiver()' in that specification. |
Candidate Recommendation |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
addTransceiver | Chrome Full support 69 | Edge Full support 79 | Firefox Full support 59 | IE No support No | Opera No support No | Safari Full support 11 | WebView Android Full support 69 | Chrome Android Full support 69 | Firefox Android Full support 59 | Opera Android No support No | Safari iOS Full support Yes | Samsung Internet Android Full support 10.0 |
Legend
- Full support
- Full support
- No support
- No support
See also
- WebRTC API
- Introduction to the Real-time Transport Protocol (RTP)
RTCPeerConnection.addTrack()also creates transceiversRTCRtpReceiverandRTCRtpSender
