RTCIceTransport: selectedcandidatepairchange-Ereignis
Baseline 2026>
Neu verfügbar
Seit August 2026 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Ein selectedcandidatepairchange-Ereignis wird an einen RTCIceTransport gesendet, wenn der ICE-Agent ein neues Kandidatenpaar auswählt, das die Endpunkte einer nutzbaren Verbindung beschreibt.
Das Kandidatenpaar wird durch ein RTCIceCandidatePair-Objekt beschrieben. Dieses enthält einen RTCIceCandidate für den lokalen Endpunkt der Verbindung und einen weiteren für den entfernten Endpunkt.
Zusammen können die Kandidaten verwendet werden, um eine Verbindung herzustellen, die vom RTCIceTransport und damit auch von einer RTCPeerConnection genutzt wird.
Dieses Ereignis kann nicht abgebrochen werden und wird nicht nach oben weitergereicht.
Syntax
Verwenden Sie den Ereignisnamen in addEventListener():
addEventListener("selectedcandidatepairchange", (event) => { })
Alternativ können Sie die Event-Handler-Eigenschaft der Schnittstelle zuweisen:
onselectedcandidatepairchange = (event) => { }
Ereignistyp
Ein generisches Event.
Beispiele
Dieses Beispiel erstellt einen Event-Handler für selectedcandidatepairchange, der eine Anzeige aktualisiert. Sie informiert den Benutzer über den Fortschritt der ICE-Aushandlung für eine RTCPeerConnection namens pc.
let iceTransport = pc.getSenders()[0].transport.iceTransport;
let localProtoElem = document.getElementById("local-protocol");
let remoteProtoElem = document.getElementById("remote-protocol");
iceTransport.addEventListener("selectedcandidatepairchange", (ev) => {
let pair = iceTransport.getSelectedCandidatePair();
localProtoElem.innerText = pair.local.protocol.toUpperCase();
remoteProtoElem.innerText = pair.remote.protocol.toUpperCase();
});
Dies ist auch möglich, indem Sie die Event-Handler-Eigenschaft onselectedcandidatepairchange direkt setzen. Beachten Sie jedoch, dass dadurch gegebenenfalls andere über onselectedcandidatepairchange hinzugefügte Event-Listener ersetzt werden.
let iceTransport = pc.getSenders()[0].transport.iceTransport;
let localProtoElem = document.getElementById("local-protocol");
let remoteProtoElem = document.getElementById("remote-protocol");
iceTransport.onselectedcandidatepairchange = (ev) => {
let pair = iceTransport.getSelectedCandidatePair();
localProtoElem.innerText = pair.local.protocol.toUpperCase();
remoteProtoElem.innerText = pair.remote.protocol.toUpperCase();
};