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.
On this page
RTCPeerConnection: addTransceiver() method
Syntax
js
addTransceiver(trackOrKind)
addTransceiver(trackOrKind, init)
Parameters
-
trackOrKind
-
A
MediaStreamTrack
to associate with the transceiver, or a string which is used as thekind
of the receiver'strack
, and by extension of theRTCRtpReceiver
itself. init
Optional-
An object for specifying any options 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.
Return value
The RTCRtpTransceiver
object which will be used to exchange the media data.
Exceptions
-
TypeError
-
Thrown if
trackOrKind
was not either"audio"
or"video"
.If the
sendEncodings
argument is used, this error may also be thrown if there is a badly formattedrid
member, some but not all encodings contain arid
member, or different encodings have the samerid
value. -
RangeError
-
Thrown if any of the
sendEncodings
encodings have amaxFramerate
value less than 0.0, or ascaleResolutionDownBy
value of less than 1.0. InvalidStateError
DOMException
-
Thrown if the method is called when the associated connection is closed.
InvalidAccessError
DOMException
-
Thrown if the
sendEncodings
argument is used, and contains a read-only parameter other thanrid
.
Specifications
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
addTransceiver |
69 | 79 | 59 | No | No | 11 | 69 | 69 | 59 | No | 11 | 10.0 |
init_direction_parameter |
69 | 79 | 59 | No | No | 11 | 69 | 69 | 59 | No | 11 | 10.0 |
init_sendEncodings_parameter |
69 | 79 | 110 | No | No | 14.1 | 69 | 69 | 110 | No | 14.5 | 10.0 |
init_streams_parameter |
69 | 79 | 59 | No | No | 12.1 | 69 | 69 | 59 | No | 12.2 | 10.0 |
See also
- WebRTC API
- Introduction to the Real-time Transport Protocol (RTP)
RTCPeerConnection.addTrack()
also creates transceiversRTCRtpReceiver
andRTCRtpSender
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTransceiver