RTCIceTransport: selectedcandidatepairchange-Ereignis

Ein selectedcandidatepairchange-Ereignis wird an ein RTCIceTransport gesendet, wenn der ICE-Agent ein neues Paar von Kandidaten auswählt, das die Endpunkte einer brauchbaren Verbindung beschreibt.

Das Paar von Kandidaten wird durch ein RTCIceCandidatePair-Objekt beschrieben, das einen RTCIceCandidate enthält, der das lokale Ende der Verbindung darstellt, und einen anderen für das entfernte Ende der Verbindung.

Zusammen können die Kandidaten verwendet werden, um eine Verbindung herzustellen, die vom RTCIceTransport und in weiterer Folge von einer RTCPeerConnection genutzt wird.

Dieses Ereignis kann nicht abgebrochen werden und löst kein Bubbling aus.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.

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

onselectedcandidatepairchange = (event) => {};

Ereignistyp

Ein generisches Event.

Beispiele

Dieses Beispiel erstellt einen Ereignis-Handler für selectedcandidatepairchange, der eine Anzeige aktualisiert, die dem Benutzer Informationen über den Fortschritt der ICE-Verhandlung für eine RTCPeerConnection namens pc bereitstellt.

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

Dies kann auch durch direktes Setzen der onselectedcandidatepairchange Ereignis-Handler-Eigenschaft erreicht 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

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

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
selectedcandidatepairchange event

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

Siehe auch

Verwandte RTCIceTransport-Ereignisse

Verwandte RTCPeerConnection-Ereignisse