--- 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);
sourceSourceBuffer に追加するメディアセグメントデータを含む {{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")}}