RTCIceTransport: gatheringstatechange-Ereignis
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-Ereignis wird an einen RTCIceTransport gesendet, wenn sich dessen Status beim Sammeln von ICE-Kandidaten ändert.
Der Sammelstatus, dessen aktueller Wert in der Eigenschaft gatheringState des Transportobjekts zu finden ist, gibt an, ob der ICE-Agent begonnen hat, Kandidaten für diesen Transport zu sammeln, und gegebenenfalls, ob er damit fertig ist.
Dieses Ereignis kann nicht abgebrochen werden und steigt nicht im DOM-Baum auf.
Syntax
Verwenden Sie den Ereignisnamen in addEventListener():
addEventListener("gatheringstatechange", (event) => { })
Alternativ können Sie ihn der Event-Handler-Eigenschaft der Schnittstelle zuweisen:
ongatheringstatechange = (event) => { }
Ereignistyp
Ein generisches Event.
Beispiele
Dieses Beispiel erstellt einen Handler für gatheringstatechange-Ereignisse für jeden RTCRtpSender, 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 Event-Handler-Eigenschaft ongatheringstatechange verwenden. Beachten Sie jedoch, dass dadurch gegebenenfalls andere über ongatheringstatechange hinzugefügte Event-Listener ersetzt werden:
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> |