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
MediaStreamTrack
to associate with the transceiver, or aDOMString
which is used as thekind
of the receiver'strack
, and by extension of theRTCRtpReceiver
itself. init
Optional- An object that conforms to the
RTCRtpTransceiverInit
dictionary which provides any options that you may wish to specify when creating the new transceiver. Possible values are:direction
Optional- The new transceiver's preferred directionality. This value is used to initialize the new
RTCRtpTransceiver
object'sRTCRtpTransceiver.direction
property. sendEncodings
Optional- A list of encodings to allow when sending RTP media from the
RTCRtpSender
. Each entry is of typeRTCRtpEncodingParameters
. streams
Optional- A list of
MediaStream
objects to add to the transceiver'sRTCRtpReceiver
; when the remote peer'sRTCPeerConnection
'strack
event occurs, these are the streams that will be specified by that event.
Exceptions
TypeError
- A string was specified as
trackOrKind
which 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 transceiversRTCRtpReceiver
andRTCRtpSender