Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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():

js
addEventListener("selectedcandidatepairchange", (event) => { })

Alternativ können Sie die Event-Handler-Eigenschaft der Schnittstelle zuweisen:

js
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.

js
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.

js
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();
};

Spezifikationen

Spezifikation
WebRTC: Real-Time Communication in Browsers
# event-icetransport-selectedcandidatepairchange
WebRTC: Real-Time Communication in Browsers
# dom-rtcicetransport-onselectedcandidatepairchange

Browser-Kompatibilität

Siehe auch

Verwandte RTCIceTransport-Ereignisse

Verwandte RTCPeerConnection-Ereignisse