RTCIceTransport: getLocalCandidates() 方法

getLocalCandidates() 方法是 RTCIceTransport 接口的方法,它返回一个包含 RTCIceCandidate 对象的数组,每个对象对应于本地设备在当前 ICE 代理会话期间收集的每个候选者。

在将本地候选者传递到本地客户端代码的 icecandidate 事件之前,ICE 代理会将它们放入此列表中,以便客户端可以将候选者转发到远程对等方。

语法

js
getLocalCandidates()

参数

无。

返回值

一个 JavaScript Array,包含在 ICE 候选者收集会话期间迄今为止识别出的每个候选者的 RTCIceCandidate 对象。

您无法将这些本地候选者与匹配的远程候选者关联起来。若要查找迄今为止找到的最佳匹配,请调用 RTCIceTransport.getSelectedCandidatePair()

示例

这个简单的示例从 RTCIceTransport 中获取本地候选者列表,该列表对应于 RTCPeerConnection 上的第一个 RTCRtpSender,然后将列表中的所有候选者输出到控制台。

js
const localCandidates = pc
  .getSenders()[0]
  .transport.transport.getLocalCandidates();

localCandidates.forEach((candidate, index) => {
  console.log(`Candidate ${index}: ${candidate.candidate}`);
});

规范

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

浏览器兼容性

BCD 表格仅在浏览器中加载