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.
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.
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.
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
Browser-Kompatibilität
BCD tables only load in the browser