RTCPeerConnection: событие icegatheringstatechange
Базовая Широко поддерживается
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.
Событие icegatheringstatechange отправляется обработчику событий onicegatheringstatechange на объекте RTCPeerConnection, когда изменяется состояние процесса сбора кандидатов ICE. Это означает, что изменилось значение свойства соединения iceGatheringState.
Когда ICE начинает сбор кандидатов соединения, значение меняется с new на gathering, чтобы указать, что начался процесс сбора конфигураций кандидатов для соединения. Когда значение меняется на complete, все транспортные средства, составляющие RTCPeerConnection, завершили сбор кандидатов ICE.
Примечание: Хотя вы можете определить, что сбор кандидатов ICE завершён, наблюдая за событиями icegatheringstatechange и проверяя, стало ли значение iceGatheringState complete, вы также можете в обработчике события icecandidate проверить, является ли свойство candidate null. Это также указывает на завершение сбора кандидатов.
Это событие не отменяется и не распространяется.
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или установите свойство обработчика событий.
addEventListener("icegatheringstatechange", (event) => {});
onicegatheringstatechange = (event) => {};
Тип события
Общее Event.
Примеры
В этом примере создаётся обработчик событий icegatheringstatechange.
pc.onicegatheringstatechange = (ev) => {
let connection = ev.target;
switch (connection.iceGatheringState) {
case "gathering":
/* collection of candidates has begun */
break;
case "complete":
/* collection of candidates is finished */
break;
}
};
Аналогично, можно использовать addEventListener() для добавления обработчика событий icegatheringstatechange:
pc.addEventListener(
"icegatheringstatechange",
(ev) => {
let connection = ev.target;
switch (connection.iceGatheringState) {
case "gathering":
// collection of candidates has begun
break;
case "complete":
// collection of candidates is finished
break;
}
},
false,
);
Спецификации
| Спецификация |
|---|
| WebRTC: Решение для реального времени в браузерах # dom-rtcpeerconnection-onicegatheringstatechange |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
icegatheringstatechange_event |
59 | 15 | 22 | 46 | 11 | 59 | 24 | 43 | 11 | 7.0 | 59 |
См. также
© 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/icegatheringstatechange_event