RTCIceTransport: selectedcandidatepairchange Ereignis
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Ein selectedcandidatepairchange
Ereignis wird an ein RTCIceTransport
gesendet, wenn der ICE Agent ein neues Paar von Kandidaten auswählt, die die Endpunkte einer funktionsfähigen Verbindung beschreiben.
Das Kandidatenpaar wird durch ein RTCIceCandidatePair
Objekt beschrieben, das ein RTCIceCandidate
enthält, das das lokale Ende der Verbindung repräsentiert, und ein weiteres, das das entfernte Ende der Verbindung repräsentiert.
Zusammen können die Kandidaten verwendet werden, um eine Verbindung herzustellen, die von dem RTCIceTransport
und, in der Folge, von einer RTCPeerConnection
genutzt werden kann.
Dieses Ereignis kann nicht abgebrochen werden und wird nicht gebubbelt.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
, oder setzen Sie eine Ereignishandler-Eigenschaft.
addEventListener("selectedcandidatepairchange", (event) => { })
onselectedcandidatepairchange = (event) => { }
Ereignistyp
Ein generisches Event
.
Beispiele
Dieses Beispiel erstellt einen Ereignishandler 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
Ereignishandler-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();
};