RTCPeerConnection: addTransceiver() 方法
RTCPeerConnection 接口的 addTransceiver() 方法会创建一个新的 RTCRtpTransceiver,并将其添加到与 RTCPeerConnection 关联的收发器集合中。每个收发器代表一个双向流,并关联一个 RTCRtpSender 和一个 RTCRtpReceiver。
语法
addTransceiver(trackOrKind)
addTransceiver(trackOrKind, init)
参数
trackOrKind-
要与收发器关联的
MediaStreamTrack,或者用作接收器track(进而作为RTCRtpReceiver本身)的kind的字符串。 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值,则会抛出此异常。 InvalidStateErrorDOMException-
如果关联的连接已关闭时调用该方法,则会抛出此异常。
InvalidAccessErrorDOMException-
如果使用了
sendEncodings参数,并且它包含除rid以外的只读参数,则会抛出此异常。
规范
| 规范 |
|---|
| WebRTC:浏览器中的实时通信 # dom-rtcpeerconnection-addtransceiver |
浏览器兼容性
加载中…