SourceBuffer: removeAsync() 方法

非标准: 此功能是非标准的,并且不在标准轨道上。不要在面向 Web 的生产网站上使用它:它不会适用于所有用户。实现之间可能存在重大差异,并且行为可能在未来发生变化。

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

removeAsync()SourceBuffer 接口的一种方法,它开始异步从 SourceBuffer 中移除指定时间范围内找到的媒体片段的过程。返回一个 Promise,该 Promise 在指定时间范围内的缓冲区被移除后完成。

此方法只能在 updatingfalse 时调用。如果不是这种情况,请改为调用 abort()

语法

js
removeAsync(start, end)

参数

start

一个表示时间范围开始的双精度浮点数,以秒为单位。

end

一个表示时间范围结束的双精度浮点数,以秒为单位。

返回值

一个 Promise,其完成处理程序在指定时间范围内的缓冲区从 SourceBuffer 中移除后执行。

示例

此示例建立了一个异步函数 emptySourceBuffer(),它清除指定 SourceBuffer 的内容。

js
async function emptySourceBuffer(msBuffer) {
  await msBuffer.removeAsync(0, Infinity).catch((e) => {
    handleException(e);
  });
}

规范

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

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅