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: signalingstatechange-Ereignis

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2017 browserübergreifend verfügbar.

Ein signalingstatechange-Ereignis wird an eine RTCPeerConnection gesendet, um sie darüber zu informieren, dass sich ihr Signalisierungszustand geändert hat, wie durch die Eigenschaft signalingState angezeigt.

Dieses Ereignis kann nicht abgebrochen werden und wird nicht nach oben weitergereicht.

Syntax

Verwenden Sie den Ereignisnamen in addEventListener():

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

Alternativ können Sie die Event-Handler-Eigenschaft der Schnittstelle verwenden:

js
onsignalingstatechange = (event) => { }

Ereignistyp

Ein generisches Event.

Beispiele

Gegeben seien eine RTCPeerConnection namens pc und eine Funktion updateStatus(), die Statusinformationen für den Benutzer anzeigt. Der folgende Code richtet einen Event-Handler ein, der den Benutzer benachrichtigt, wenn die ICE-Aushandlung abgeschlossen ist.

js
pc.addEventListener("signalingstatechange", (ev) => {
  switch (pc.signalingState) {
    case "stable":
      updateStatus("ICE negotiation complete");
      break;
  }
});

Mit onsignalingstatechange sieht das so aus (beachten Sie jedoch, dass dadurch gegebenenfalls andere mit onsignalingstatechange hinzugefügte Event-Listener ersetzt werden):

js
pc.onsignalingstatechange = (ev) => {
  switch (pc.signalingState) {
    case "stable":
      updateStatus("ICE negotiation complete");
      break;
  }
};

Spezifikationen

Spezifikation
WebRTC: Real-Time Communication in Browsers
# event-signalingstatechange

Browser-Kompatibilität

Siehe auch