RTCRtpTransceiver - 描述了 RTCRtpSender 和 RTCRtpReceiver 的永久配对,以及一些共享状态

RTCRtpTransceiver 是 WebRTC 的接口,描述了 RTCRtpSenderRTCRtpReceiver 的永久配对,以及一些共享状态。

每个 SDP 媒体部分都描述一个双向 SRTP(Secure Real Time Protocol)(“安全实时协议”)流(RTCDataChannel 的媒体部分除外,如果存在的话)。发送和接收 SRTP 流的这种配对对于某些应用程序非常重要,因此,使用 RTCRtpTransceiver 表示这种配对以及媒体部分的其他重要状态。每个不可禁用的 SRTP 媒体部分始终由一个收发器代表。

收发器使用其 mid 属性作为唯一标识,该属性与其对应的 m 线的媒体 ID(mid)相同。如果 RTCRtpTransceiver 的中间非零,则将其与 m 线关联;否则,它被视为已取消关联。

属性

currentDirection 只读

一个只读字符串,来自 RTCRtpTransceiverDirection 枚举,指示收发器的当前方向性;如果收发器已停止或从未参与过提议和回复,则为 null。要更改收发器的方向性,请设置 direction 属性的值。

direction

一个字符串,来自 RTCRtpTransceiverDirection 枚举,用于设置收发器的所需方向。

mid 只读

与此收发器关联的 m 线的媒体 ID。只要有可能,只要应用了本地或远程描述,就建立该关联。如果没有应用本地描述或远程描述,或者其关联的 m 行被远程提议或任何回复拒绝,则此字段为 null

receiver 只读

一个 RTCRtpReceiver 对象,用于处理接收和解码传入的媒体。

sender 只读

一个 RTCRtpSender 对象,负责编码并将数据发送到远程对等方。

stopped

指示是否已永久禁用使用配对的 RTCRtpSenderRTCRtpReceiver 发送和接收。禁用是因为 SDP 提议 / 回复或由于调用了 stop()

方法

setCodecPreferences()

一个包含 RTCRtpCodecParameters 对象的数组,这些对象包含了 用户代理 收发器编解码器使用的默认首选项。

stop()

永久停止 RTCRtpTransceiver。相关的发送方停止发送数据,并且相关的接收方同样停止接收和解码传入的数据。

规范

规范 状态 备注
WebRTC 1.0: Real-time Communication Between Browsers
RTCRtpTransceiver 的定义
候选推荐 -

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持69≤1859 不支持 不支持 支持
currentDirection69 不支持59 不支持 不支持 未知
direction69 不支持59 不支持 不支持 支持
mid69 不支持59 不支持 不支持 支持
receiver69 不支持59 不支持 不支持 支持
sender69 不支持59 不支持 不支持 支持
setCodecPreferences() 不支持 不支持 不支持 不支持 不支持 未知
stop() 不支持 不支持59 不支持 不支持 支持
stopped69 不支持59 不支持 不支持 支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持6969 未知59 未知 不支持 支持
currentDirection6969 未知59 未知 不支持 未知
direction6969 未知59 未知 不支持 支持
mid6969 未知59 未知 不支持 支持
receiver6969 未知59 未知 不支持 支持
sender6969 未知59 未知 不支持 支持
setCodecPreferences() 不支持 不支持 未知 不支持 未知 不支持 未知
stop() 不支持 不支持 未知59 未知 不支持 支持
stopped6969 未知59 未知 不支持 支持

相关链接