RTCRtpTransceiver:currentDirection 属性

Baseline 广泛可用 *

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流浏览器均已支持。

* 此特性的某些部分可能存在不同级别的支持。

只读的 RTCRtpTransceiver 属性 currentDirection 是一个字符串,用于指示收发器的当前协商方向。

方向性指示了收发器是否会提供发送和/或接收 RTP 数据,或者它是否处于非活动状态或已停止,并且不会发送或接收数据。

收发器的首选方向性可以通过 direction 属性进行设置和读取。更改 direction 会触发重新协商,最终也可能导致 currentDirection 发生变化。

在通过 offer/answer 进行协商之前,其初始值是 null

协商后,该值为以下字符串之一:

"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 数据,也不会尝试这样做。

  • RTCRtpSender提供发送 RTP 数据,也不会这样做。
  • RTCRtpReceiver提供接收 RTP 数据,也不会这样做。

规范

规范
WebRTC:浏览器中的实时通信
# dom-rtcrtptransceiver-currentdirection

浏览器兼容性

另见