RTCDataChannel: событие bufferedamountlow
Базовая Широко поддерживается
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.
Событие bufferedamountlow отправляется в RTCDataChannel, когда количество байтов в буфере передачи данных выходит из зоны отправки ниже порога, указанного в bufferedAmountLowThreshold. События bufferedamountlow не отправляются, если bufferedAmountLowThreshold равно 0.
Это событие не может быть отменено и не распространяется.
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или задайте свойство обработчика событий.
addEventListener("bufferedamountlow", (event) => {});
onbufferedamountlow = (event) => {};
Тип события
Общее Event.
Примеры
В этом примере настраивается обработчик для события bufferedamountlow, чтобы запросить больше данных всякий раз, когда буфер канала данных падает ниже количества байтов, указанных в bufferedAmountLowThreshold, которое мы установили в 65536. Другими словами, мы будем пытаться поддерживать как минимум 64 КБ данных в буфере, читая по 64 КБ из источника за раз.
let pc = new RTCPeerConnection();
let dc = pc.createDataChannel("SendFile");
// source data object
let source = (dc.bufferedAmountLowThreshold = 65536);
pc.addEventListener(
"bufferedamountlow",
(ev) => {
if (source.position <= source.length) {
dc.send(source.readFile(65536));
}
},
false,
);
После создания RTCPeerConnection, это вызывает RTCPeerConnection.createDataChannel() для создания канала данных. Затем создается обработчик для события bufferedamountlow, чтобы заполнить буфер входящих данных всякий раз, когда его содержимое падает ниже 65536 байт.
Вы также можете настроить обработчик для события bufferedamountlow, используя его свойство обработчика событий, onbufferedamountlow:
pc.onbufferedamountlow = (ev) => {
if (source.position <= source.length) {
dc.send(source.readFile(65536));
}
};
Спецификации
| Спецификация |
|---|
| WebRTC: Реальное время связи в браузерах # event-datachannel-bufferedamountlow |
| WebRTC: Реальное время связи в браузерах # dom-rtcdatachannel-onbufferedamountlow |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
bufferedamountlow_event |
57Значение по умолчанию дляrtcpMuxPolicy равно require. |
79Значение по умолчанию дляrtcpMuxPolicy равно require. |
44 | 44Значение по умолчанию дляrtcpMuxPolicy равно require. |
11 | 57Значение по умолчанию дляrtcpMuxPolicy равно require. |
44 | 43Значение по умолчанию дляrtcpMuxPolicy равно require. |
11 | 7.0Значение по умолчанию дляrtcpMuxPolicy равно require. |
57Значение по умолчанию дляrtcpMuxPolicy равно require. |
См. также
© 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/RTCDataChannel/bufferedamountlow_event