A
bufferedamountlow
event is sent to an
RTCDataChannel
when the number of bytes currently in the outbound data transfer buffer falls below the threshold specified in
bufferedAmountLowThreshold
.
bufferedamountlow
events aren't sent if
bufferedAmountLowThreshold
为 0。
| 冒泡 | No |
|---|---|
| 可取消 | No |
| 接口 |
事件
|
| 事件处理程序特性 |
onbufferedamountlow
|
This example sets up a handler for
bufferedamountlow
to request more data any time the data channel's buffer falls below the number of bytes specified by
bufferedAmountLowThreshold
, which we have set to 65536. In other words, we'll try to keep at least 64kB of data in the buffer, reading 64kB at a time from the source.
let pc = new RTCPeerConnection();
let dc = pc.createDataChannel("SendFile");
let source = /* source data object */
dc.bufferedAmountLowThreshold = 65536;
pc.addEventListener("bufferedamountlow", ev => {
if (source.position <= source.length) {
dc.send(source.readFile(65536));
}
}, false);
After creating the
RTCPeerConnection
, this calls
RTCPeerConnection.createDataChannel()
to create the data channel. Then a listener is created for
bufferedamountlow
to refill the incoming data buffer any time its contents fall below 65536 bytes.
You can also set up a listener for
bufferedamountlow
using its event handler property,
onbufferedamountlow
:
pc.onbufferedamountlow = ev => {
if (source.position <= source.length) {
dc.send(source.readFile(65536));
}
}
| 规范 | 状态 | 注释 |
|---|---|---|
|
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'bufferedamountlow' in that specification. |
候选推荐 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
bufferedamountlow
event
|
Chrome
57
|
Edge
≤79
|
Firefox Yes | IE No |
Opera
44
|
Safari Yes |
WebView Android
57
|
Chrome Android
57
|
Firefox Android Yes |
Opera Android
43
|
Safari iOS No |
Samsung Internet Android
7.0
|
完整支持
不支持
见实现注意事项。
RTCDataChannel
RTCDataChannel.onbufferedamountlow
RTCDataChannel.bufferedAmountLowThreshold
RTCDataChannel
MediaDevices.getUserMedia()
Navigator.mediaDevices
RTCCertificate
RTCDTMFSender
RTCDTMFToneChangeEvent
RTCDataChannelEvent
RTCDtlsTransport
RTCErrorEvent
RTCIceCandidate
RTCIceTransport
RTCPeerConnection
RTCPeerConnectionIceErrorEvent
RTCPeerConnectionIceEvent
RTCRtpReceiver
RTCRtpSender
RTCRtpTransceiver
RTCSctpTransport
RTCSessionDescription
RTCStatsEvent
RTCStatsReport
RTCTrackEvent