SourceBuffer: appendBufferAsync() 方法

非标准:此功能是非标准的,并且不在标准化轨道上。请勿在面向 Web 的生产网站上使用它:它不会适用于所有用户。实现之间也可能存在很大的不兼容性,并且行为可能会在将来发生变化。

实验性:这是一个实验性技术
在生产环境中使用此功能之前,请仔细查看浏览器兼容性表

appendBufferAsync()SourceBuffer接口的方法,它开始异步将媒体片段数据从ArrayBufferTypedArrayDataView对象追加到SourceBuffer对象的进程。它返回一个Promise,该 Promise 在缓冲区追加完成后被实现。

语法

js
appendBufferAsync(source)

参数

source

一个ArrayBuffer、一个TypedArray或一个DataView对象,其中包含要添加到SourceBuffer的媒体片段数据。

返回值

一个Promise,该 Promise 在缓冲区成功添加到SourceBuffer对象时被实现,或者为null,如果请求无法启动。

示例

这个简化的异步函数示例fillSourceBuffer(),以ArrayBufferTypedArrayDataView对象buffer以及要将源媒体追加到的SourceBuffer对象作为输入参数。

js
async function fillSourceBuffer(buffer, msBuffer) {
  try {
    while (true) {
      await msBuffer.appendBufferAsync(buffer);
    }
  } catch (e) {
    handleException(e);
  }
}

规范

此功能不是任何规范的一部分。它没有成为标准的轨迹。

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参阅