Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

RTCPeerConnection: icegatheringstatechange Ereignis

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨September 2017⁩.

Das icegatheringstatechange Ereignis wird an den onicegatheringstatechange Ereignishandler auf einer RTCPeerConnection gesendet, wenn sich der Zustand des ICE Kandidatensammlungsprozesses ändert. Dies bedeutet, dass sich der Wert der iceGatheringState Eigenschaft der Verbindung geändert hat.

Wenn ICE erstmals beginnt, Verbindungskandidaten zu sammeln, ändert sich der Wert von new zu gathering, um anzuzeigen, dass der Prozess des Sammelns von Konfigurationskandidaten für die Verbindung begonnen hat. Sobald der Wert zu complete wechselt, haben alle Transports, die die RTCPeerConnection ausmachen, die Sammlung von ICE-Kandidaten abgeschlossen.

Hinweis: Während Sie feststellen können, dass die Sammlung von ICE-Kandidaten abgeschlossen ist, indem Sie auf icegatheringstatechange Ereignisse achten und überprüfen, ob der Wert von iceGatheringState zu complete geworden ist, können Sie auch Ihren Handler für das icecandidate Ereignis so konfigurieren, dass er überprüft, ob seine candidate Eigenschaft null ist. Dies zeigt ebenfalls an, dass die Sammlung von Kandidaten abgeschlossen ist.

Dieses Ereignis ist nicht abbruchfähig und wird nicht weitergeleitet.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignishandlereigenschaft.

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

onicegatheringstatechange = (event) => { }

Ereignistyp

Ein generisches Event.

Beispiele

Dieses Beispiel erstellt einen Handler für icegatheringstatechange Ereignisse.

js
pc.onicegatheringstatechange = (ev) => {
  let connection = ev.target;

  switch (connection.iceGatheringState) {
    case "gathering":
      /* collection of candidates has begun */
      break;
    case "complete":
      /* collection of candidates is finished */
      break;
  }
};

Ebenso können Sie addEventListener() verwenden, um einen Listener für icegatheringstatechange Ereignisse hinzuzufügen:

js
pc.addEventListener("icegatheringstatechange", (ev) => {
  let connection = ev.target;

  switch (connection.iceGatheringState) {
    case "gathering":
      // collection of candidates has begun
      break;
    case "complete":
      // collection of candidates is finished
      break;
  }
});

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
# dom-rtcpeerconnection-onicegatheringstatechange

Browser-Kompatibilität

Siehe auch