RTCIceTransport: statechange Ereignis

Baseline 2024
Newly available

Since April 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Ein statechange-Ereignis tritt auf, wenn sich der Zustand des RTCIceTransport ändert. Der state kann verwendet werden, um festzustellen, wie weit der Prozess des Prüfens, Verifizierens und Auswählens eines gültigen Kandidatenpaars fortgeschritten ist, bevor die beiden Peers erfolgreich für WebRTC-Kommunikation verbunden werden.

Dieses Ereignis kann nicht abgebrochen werden und löst keine Bubbling-Effekte aus.

Syntax

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

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

onstatechange = (event) => { }

Ereignistyp

Ein generisches Event.

Beispiele

Gegeben einer RTCPeerConnection, pc, erstellt der folgende Code einen Ereignishandler, der eine Funktion namens handleFailure() aufruft, wenn der ICE-Transport in einen Fehlerzustand gerät.

js
let iceTransport = pc.getSenders()[0].transport.iceTransport;

iceTransport.addEventListener(
  "statechange",
  (ev) => {
    if (iceTransport.state === "failed") {
      handleFailure(pc);
    }
  },
  false,
);

Der gleiche Code unter Verwendung der onstatechange-Ereignishandler-Eigenschaft sieht folgendermaßen aus:

js
let iceTransport = pc.getSenders()[0].transport.iceTransport;

iceTransport.onstatechange = (ev) => {
  if (iceTransport.state === "failed") {
    handleFailure(pc);
  }
};

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
# event-icetransport-statechange
WebRTC: Real-Time Communication in Browsers
# dom-rtcicetransport-onstatechange

Browser-Kompatibilität

Siehe auch

Verwandte RTCIceTransport-Ereignisse

Verwandte RTCPeerConnection-Ereignisse