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():
addEventListener("signalingstatechange", (event) => { })
Alternativ können Sie die Event-Handler-Eigenschaft der Schnittstelle verwenden:
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.
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):
pc.onsignalingstatechange = (ev) => {
switch (pc.signalingState) {
case "stable":
updateStatus("ICE negotiation complete");
break;
}
};
Spezifikationen
| Spezifikation |
|---|
| WebRTC: Real-Time Communication in Browsers> # event-signalingstatechange> |