Skip to content

Latest commit

 

History

History
56 lines (39 loc) · 1.99 KB

File metadata and controls

56 lines (39 loc) · 1.99 KB
title slug l10n
SourceBuffer.appendBufferAsync()
Web/API/SourceBuffer/appendBufferAsync
sourceCommit
16e398809d62247dbadc89ff4024a0ffa4781f0e

{{APIRef("Media Source Extensions")}}{{Non-standard_Header}}{{SeeCompatTable}}

appendBufferAsync() は {{domxref("SourceBuffer")}} インターフェイスのメソッドで、{{jsxref("ArrayBuffer")}}、{{jsxref("TypedArray")}}、{{jsxref("DataView")}} のいずれかのオブジェクトから SourceBuffer にメディアセグメントデータを非同期的に追加するプロセスを開始します。 バッファーが追加されると履行される {{jsxref("Promise")}} を返します。

構文

appendBufferAsync(source)

引数

  • source
    • : {{jsxref("ArrayBuffer")}}、{{jsxref("TypedArray")}}、{{jsxref("DataView")}} のいずれかのオブジェクトで、 SourceBuffer に追加するメディアセグメントデータが入ったもの。

返値

バッファーが SourceBuffer に正常に追加されたときに履行される {{jsxref("Promise")}}、または要求を開始できなかった場合は null

この単純化された非同期関数の例 fillSourceBuffer() は、入力引数 buffer として{{jsxref("ArrayBuffer")}}、{{jsxref("TypedArray")}}、{{jsxref("DataView")}} のいずれかのオブジェクトと、そのバッファーからソースメディアを追加する SourceBuffer を受け取ります。

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

仕様書

この機能は、どの仕様にも属しません。標準化の予定もありません。

ブラウザーの互換性

{{Compat}}

関連情報