title | slug | l10n | ||
---|---|---|---|---|
SourceBuffer.appendBufferAsync() |
Web/API/SourceBuffer/appendBufferAsync |
|
{{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
に追加するメディアセグメントデータが入ったもの。
- : {{jsxref("ArrayBuffer")}}、{{jsxref("TypedArray")}}、{{jsxref("DataView")}} のいずれかのオブジェクトで、
バッファーが 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}}
- メディアソース拡張 API
- {{domxref("SourceBuffer.appendBuffer()")}}
- {{domxref("MediaSource")}}
- {{domxref("SourceBufferList")}}