--- title: SourceBuffer.appendBufferAsync() slug: Web/API/SourceBuffer/appendBufferAsync tags: - API - Audio - Experimental - MSE - Media - Media Source Extensions - Method - Non-standard - Reference - SourceBuffer - Video - appendBufferAsync translation_of: Web/API/SourceBuffer/appendBufferAsync ---
{{domxref("SourceBuffer")}} インターフェイスの appendBufferAsync()
メソッドは、{{jsxref("ArrayBuffer")}} または {{domxref("ArrayBufferView")}} オブジェクトから SourceBuffer
にメディアセグメントデータを非同期的に追加するプロセスを開始します。 バッファが追加されると満たされる {{jsxref("Promise")}} を返します。
appendPromise = sourceBuffer.appendBufferAsync(source);
source
SourceBuffer
に追加するメディアセグメントデータを含む {{domxref("BufferSource")}}(つまり、{{domxref("ArrayBufferView")}} または {{jsxref("ArrayBuffer")}})。バッファが SourceBuffer
に正常に追加されたときに満たされる {{jsxref("Promise")}}、または要求を開始できなかった場合は null
。
この単純化された非同期関数の例 fillSourceBuffer()
は、入力パラメーターとして {{domxref("BufferSource")}} の buffer
、およびバッファからソースメディアを追加する SourceBuffer
を受け取ります。
async function fillSourceBuffer(buffer, msBuffer) { try { while(true) { await msBuffer.appendBufferAsync(buffer); } } catch(e) { handleException(e); } }
現在、仕様の一部ではありません。 これは、Web Platform Incubator Community Group(WICG)の後援の下で実験されています。
仕様 | 状態 | コメント |
---|---|---|
{{SpecName('Media Source Extensions')}} | {{Spec2('Media Source Extensions')}} | 初期定義、このメソッドは含まれません。 |
{{Compat("api.SourceBuffer.appendBufferAsync")}}