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 |
瀏覽器相容性
載入中…