RTCPeerConnection: connectionstatechange Ereignis
Baseline
2023
Newly available
Since May 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Das connectionstatechange Ereignis wird an den onconnectionstatechange Ereignis-Handler eines RTCPeerConnection-Objekts gesendet, nachdem ein neuer Track zu einem RTCRtpReceiver hinzugefügt wurde, der Teil der Verbindung ist. Der neue Verbindungsstatus kann in connectionState gefunden werden und ist einer der String-Werte: new, connecting, connected, disconnected, failed oder closed.
Dieses Ereignis kann nicht abgebrochen werden und wird nicht weitergereicht.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignis-Handler-Eigenschaft.
addEventListener("connectionstatechange", (event) => { })
onconnectionstatechange = (event) => { }
Ereignistyp
Ein generisches Event.
Beispiele
Für ein RTCPeerConnection mit dem Namen peerConnection wird in diesem Beispiel addEventListener() verwendet, um Änderungen an der Konnektivität der WebRTC-Sitzung zu verarbeiten. Es wird eine app-definierte Funktion namens setOnlineStatus() aufgerufen, um eine Statusanzeige zu aktualisieren.
peerConnection.addEventListener(
"connectionstatechange",
(event) => {
switch (peerConnection.connectionState) {
case "new":
case "connecting":
setOnlineStatus("Connecting…");
break;
case "connected":
setOnlineStatus("Online");
break;
case "disconnected":
setOnlineStatus("Disconnecting…");
break;
case "closed":
setOnlineStatus("Offline");
break;
case "failed":
setOnlineStatus("Error");
break;
default:
setOnlineStatus("Unknown");
break;
}
},
false,
);
Sie können auch einen Handler für das connectionstatechange Ereignis mit der RTCPeerConnection.onconnectionstatechange-Eigenschaft erstellen:
peerConnection.onconnectionstatechange = (ev) => {
switch (peerConnection.connectionState) {
case "new":
case "connecting":
setOnlineStatus("Connecting…");
break;
// …
default:
setOnlineStatus("Unknown");
break;
}
};
Spezifikationen
| Specification |
|---|
| WebRTC: Real-Time Communication in Browsers> # dom-rtcpeerconnection-onconnectionstatechange> |
Browser-Kompatibilität
Loading…