RTCIceTransport: gatheringstatechange 事件
当 RTCIceTransport
的 ICE 候选者收集状态发生变化时,会向其发送一个 gatheringstatechange
事件。
收集状态,其实际状态可以在传输对象的 gatheringState
属性中找到,指示 ICE 代理是否已开始在此传输上收集候选者,如果已开始,则指示是否已完成收集。
此事件不可取消,也不会冒泡。
语法
在诸如 addEventListener()
之类的方法中使用事件名称,或设置事件处理程序属性。
js
addEventListener("gatheringstatechange", (event) => {});
ongatheringstatechange = (event) => {};
事件类型
一个通用的 Event
。
示例
此示例为与给定 RTCPeerConnection
关联的每个 RTCRtpSender
创建了一个 gatheringstatechange
事件处理程序。在此,调用 addEventListener()
方法以添加 gatheringstatechange
事件的侦听器
js
pc.getSenders().forEach((sender) => {
sender.transport.iceTransport.addEventListener(
"gatheringstatechange",
(ev) => {
let transport = ev.target;
if (transport.gatheringState === "complete") {
/* this transport has finished gathering candidates,
but others may still be working on it */
}
},
false,
);
});
同样,您可以使用 ongatheringstatechange
事件处理程序属性
js
pc.getSenders().forEach((sender) => {
sender.transport.iceTransport.ongatheringstatechange = (ev) => {
let transport = ev.target;
if (transport.gatheringState === "complete") {
/* this transport has finished gathering candidates,
but others may still be working on it */
}
};
});
规范
规范 |
---|
WebRTC: 浏览器中的实时通信 # event-icetransport-gatheringstatechange |
WebRTC: 浏览器中的实时通信 # dom-rtcicetransport-ongatheringstatechange |
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。