RTCIceTransport: gatheringstatechange-Event
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit April 2024 browserübergreifend verfügbar.
Ein gatheringstatechange-Event wird an ein RTCIceTransport gesendet, wenn sich der ICE Kandidatensammlungszustand ändert.
Der Sammelzustand, dessen aktueller Status in der gatheringState-Eigenschaft des Transportobjekts gefunden werden kann, gibt an, ob der ICE-Agent begonnen hat, Kandidaten für diesen Transport zu sammeln, und falls ja, ob er dies abgeschlossen hat.
Dieses Ereignis ist nicht abbruchfähig und wird nicht propagiert.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener(), oder setzen Sie eine Ereignis-Handler-Eigenschaft.
addEventListener("gatheringstatechange", (event) => { })
ongatheringstatechange = (event) => { }
Ereignistyp
Ein generisches Event.
Beispiele
In diesem Beispiel wird ein Handler für gatheringstatechange-Ereignisse auf jedem RTCRtpSender erstellt, der mit einer bestimmten RTCPeerConnection verknüpft ist. Hier wird die Methode addEventListener() aufgerufen, um einen Listener für gatheringstatechange-Ereignisse hinzuzufügen:
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 */
}
},
);
});
Ebenso können Sie die ongatheringstatechange-Ereignis-Handler-Eigenschaft verwenden:
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 */
}
};
});
Spezifikationen
| Spezifikation |
|---|
| WebRTC: Real-Time Communication in Browsers> # event-icetransport-gatheringstatechange> |
| WebRTC: Real-Time Communication in Browsers> # dom-rtcicetransport-ongatheringstatechange> |