RTCPeerConnection: addTransceiver() 方法
addTransceiver()
是 RTCPeerConnection
接口的方法,用于创建一个新的 RTCRtpTransceiver
并将其添加到与 RTCPeerConnection
关联的转发器集合中。每个转发器都代表一个双向流,与其关联的都有一个 RTCRtpSender
和一个 RTCRtpReceiver
。
语法
addTransceiver(trackOrKind)
addTransceiver(trackOrKind, init)
参数
trackOrKind
-
与转发器关联的
MediaStreamTrack
,或者一个用作接收器kind
的字符串,并通过扩展接收器的track
本身。 init
可选-
一个用于在创建新转发器时指定任何选项的对象。可能的取值是
direction
可选-
新转发器的首选方向性。此值用于初始化新的
RTCRtpTransceiver
对象的RTCRtpTransceiver.direction
属性。 sendEncodings
可选-
从
RTCRtpSender
发送 RTP 媒体时允许的编码数组。这与传递给RTCRtpSender.setParameters()
的parameter.encodings
数组相同。 streams
可选-
要添加到转发器
RTCRtpReceiver
的MediaStream
对象列表;当远程对等方的RTCPeerConnection
的track
事件发生时,这些是该事件将指定的流。
返回值
将用于交换媒体数据的 RTCRtpTransceiver
对象。
异常
TypeError
-
如果
trackOrKind
既不是"audio"
也不是"video"
,则抛出此异常。如果使用
sendEncodings
参数,则如果存在格式错误的rid
成员,或者一些但不是所有编码包含rid
成员,或者不同的编码具有相同的rid
值,则也可能抛出此错误。 RangeError
-
如果任何
sendEncodings
编码具有小于 0.0 的maxFramerate
值,或者小于 1.0 的scaleResolutionDownBy
值,则抛出此异常。 InvalidStateError
DOMException
-
如果在关联的连接关闭时调用此方法,则抛出此异常。
InvalidAccessError
DOMException
-
如果使用
sendEncodings
参数,并且包含除rid
之外的只读参数,则抛出此异常。
规范
规范 |
---|
WebRTC:浏览器中的实时通信 # dom-rtcpeerconnection-addtransceiver |
浏览器兼容性
BCD 表格仅在浏览器中加载