RTCRtpTransceiver: direction 屬性
Baseline 廣泛可用 *
RTCRtpTransceiver 介面的 direction 屬性是一個字串,用於指示收發器的首選方向性。
方向性表明收發器是否會嘗試傳送和/或接收 RTP 資料,或者它是否處於非活動或已停止(終止)狀態。設定收發器的方向時,該值不會立即生效。當前方向由 currentDirection 屬性指示。
值
一個字串,其值可能為以下之一:
"sendrecv"-
收發器嘗試傳送和接收 RTP 資料
RTCRtpSender:嘗試傳送 RTP 資料,如果遠端對等方接受連線並且傳送方的至少一個編碼器處於活動狀態,則會這樣做。RTCRtpReceiver:嘗試接收 RTP 資料,如果遠端對等方接受,則會這樣做。
"sendonly"-
收發器嘗試傳送但不接收 RTP 資料
RTCRtpSender:嘗試傳送 RTP 資料,如果遠端對等方接受連線並且傳送方的至少一個編碼器處於活動狀態,則會這樣做。RTCRtpReceiver:不嘗試接收 RTP 資料,也不會這樣做。
"recvonly"-
收發器嘗試接收但不傳送 RTP 資料
RTCRtpSender:不嘗試傳送 RTP 資料,也不會這樣做。RTCRtpReceiver:嘗試接收 RTP 資料,如果遠端對等方也嘗試接收,則會這樣做。
"inactive"-
收發器處於非活動狀態
RTCRtpSender:不嘗試傳送 RTP 資料,也不會這樣做。RTCRtpReceiver:不嘗試接收 RTP 資料,也不會這樣做。
"stopped"-
這是收發器的最終狀態。收發器已停止,將不會發送或接收 RTP 資料,也不會嘗試這樣做。當收發器尚未停止時設定此值會引發
TypeError。RTCRtpSender:不嘗試傳送 RTP 資料,也不會這樣做。RTCRtpReceiver:不嘗試接收 RTP 資料,也不會這樣做。
異常
設定 direction 的值時,可能會發生以下異常
InvalidStateErrorDOMException-
接收方的
RTCPeerConnection已關閉,或者RTCRtpReceiver已停止。 TypeError-
噹噹前值為
stopped以外的任何值時,將其設定為stopped。
描述
direction 屬性可用於設定或獲取收發器的首選方向性。
更新方向性不會立即生效。如果 direction 的新值與現有值不同,則需要重新協商連線,因此會向 RTCPeerConnection 傳送一個 negotiationneeded 事件。然後,RTCRtpSender.createOffer() 或 RTCPeerConnection.createAnswer() 將使用 direction 值(stopped 除外)來生成這些方法建立的 SDP 訊息。例如,如果 direction 指定為 "sendrecv",則相應的 SDP a-line 將指示方向性:
a=sendrecv
一旦協商過程完成且新的會話描述已成功應用,新的方向性就會生效。
收發器的當前方向由 currentDirection 屬性指示。
規範
| 規範 |
|---|
| WebRTC:瀏覽器中的即時通訊 # dom-rtcrtptransceiver-direction |
瀏覽器相容性
載入中…