Spec-Zone.ru › Web APIs

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.

См. также

  • API WebRTC
  • RTCDataChannel
  • RTCDataChannel.bufferedAmountLowThreshold

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API