RTCPeerConnection: событие connectionstatechange
Событие connectionstatechange отправляется обработчику onconnectionstatechange объекта RTCPeerConnection после добавления нового трека в RTCRtpReceiver, который является частью соединения. Новое состояние соединения можно найти в connectionState, и оно является одним из строковых значений: new, connecting, connected, disconnected, failed, или closed.
Это событие не может быть отменено и не распространяется.
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или задайте свойство обработчика событий.
addEventListener("connectionstatechange", (event) => {});
onconnectionstatechange = (event) => {};
Тип события
Общее Event.
Примеры
Для RTCPeerConnection с именем peerConnection, в этом примере используется addEventListener() для обработки изменений подключения в сессии WebRTC. Он вызывает определённую приложением функцию setOnlineStatus() для обновления отображения статуса.
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,
);
Также можно создать обработчик события connectionstatechange с помощью свойства RTCPeerConnection.onconnectionstatechange:
peerConnection.onconnectionstatechange = (ev) => {
switch (peerConnection.connectionState) {
case "new":
case "connecting":
setOnlineStatus("Connecting…");
break;
// …
default:
setOnlineStatus("Unknown");
break;
}
};
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
connectionstatechange_event |
72 | 79 | 113 | 60 | 11 | 72 | 113 | 51 | 11 | 11.0 | 72 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/connectionstatechange_event