SourceBufferList

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

实验性: 这是一项实验性技术
在将其用于生产之前,请仔细检查浏览器兼容性表格

SourceBufferList 接口表示多个 SourceBuffer 对象的简单容器列表。

使用 MediaSource.sourceBuffers 属性可以检索附加到特定 MediaSourceSourceBuffer 的源缓冲列表。

使用数组操作符 [] 可以访问到各个源缓冲区。

EventTarget SourceBufferList

属性

SourceBufferList.length 只读

返回列表中 SourceBuffer 对象的数量。

方法

从它的父接口 EventTarget 继承方法。

事件

addsourcebuffer

当一个 SourceBuffer 增加到列表时触发。

removesourcebuffer

当一个 SourceBuffer 从列表移除时触发。

示例

这个示例展示了如何访问连接到一个已经在播放的 HTMLVideoElement 其内部的 MediaSource 的活动源缓冲区。

js
// Video is an already playing video using a MediaSource srcObject
const video = document.querySelector("video");
const mediaSource = video.srcObject;
const sourceBufferList = mediaSource.activeSourceBuffers;
for (const sourceBuffer of sourceBufferList) {
  // Do something with each SourceBuffer, such as call abort()
  sourceBuffer.abort();
}

规范

Specification
Media Source Extensions™
# sourcebufferlist

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
SourceBufferList
addsourcebuffer event
Available in workers
Experimental
length
Available in workers
Experimental
removesourcebuffer event
Available in workers
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
No support
No support
Experimental. Expect behavior to change in the future.
Requires a vendor prefix or different name for use.
Has more compatibility info.

参见