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

BCD tables only load in the browser

Siehe auch

Verwandte RTCIceTransport-Ereignisse

Verwandte RTCPeerConnection-Ereignisse