RTCIceCandidate:component 属性

RTCIceCandidate 接口上,只读的 component 属性是一个字符串,指示候选者是 RTP 还是 RTCP 候选者。

如果一个候选者同时表示 RTP 和 RTCP 多路复用,则将其报告为 RTP 候选者。

一个字符串,其值为以下之一:

rtp

标识用于 实时传输协议 (RTP) 或用于 RTP 与 RTP 控制协议 (RTCP) 多路复用的 ICE 传输。RTP 在 RFC 3550 中定义。此值对应于 candidate a 行中值为 1 的组件 ID 字段。

rtcp

标识用于 RTCP 的 ICE 传输,RTCP 在 RFC 3550,第 6 节 中定义。此值对应于组件 ID 2。

使用说明

考虑此 SDP 属性行 (a 行)

a=candidate:4234997325 1 udp 2043278322 192.0.2.172 44323 typ host

这是一条 ICE 候选者 a 行,其 foundation 为 4234997325。a 行上的下一个字段 "1" 是组件 ID。值为 "1" 表示 RTP,它在 component 属性中记录为 "rtp"。如果此值改为 "2",则 a 行将描述 RTCP 候选者,并且 component 将为 "rtcp"

示例

此代码片段检查候选者的组件类型,并根据值将候选者分派到不同的处理程序。

js
if (candidate.component === "rtp") {
  handleRTPCandidate(candidate);
} else if (candidate.component === "rtcp") {
  handleRTCPCandidate(candidate);
} else {
  handleUnknownCandidate(candidate);
}

规范

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

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。