RTCPeerConnection: connectionstatechange Ereignis
Baseline 2023Newly 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 |