SourceBuffer: removeAsync() 方法

注意:此功能在 專用 Web Workers 中可用。

非標準:此特性未標準化。我們不建議在生產環境中使用非標準特性,因為它們瀏覽器支援有限,並且可能會更改或被移除。但是,在沒有標準選項的特定情況下,它們可以是合適的替代方案。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

SourceBuffer 介面的 removeAsync() 方法開始非同步移除 SourceBuffer 中指定時間範圍內的媒體段。該方法會返回一個 Promise,當指定時間範圍內的緩衝區被移除後,該 Promise 會被 fulfilled。

僅當 updatingfalse 時才能呼叫此方法。如果不是這種情況,請呼叫 abort()

語法

js
removeAsync(start, end)

引數

start

一個表示時間範圍開始的浮點數,單位為秒。

end

一個表示時間範圍結束的浮點數,單位為秒。

返回值

一個 Promise,當指定時間範圍內的緩衝區從 SourceBuffer 中移除後,其 fulfillment handler 會被執行。

示例

此示例建立了一個名為 emptySourceBuffer() 的非同步函式,該函式會清除指定 SourceBuffer 的內容。

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

規範

此功能不是任何規範的一部分。它不打算成為標準。

瀏覽器相容性

另見