SourceBuffer.appendBufferAsync()

非標準
この機能は標準ではなく、標準化の予定もありません。公開されているウェブサイトには使用しないでください。ユーザーによっては使用できないことがあります。実装ごとに大きな差があることもあり、将来は振る舞いが変わるかもしれません。

これは実験的な機能です。本番で使用する前にブラウザー実装状況をチェックしてください。

SourceBuffer インターフェイスの appendBufferAsync() メソッドは、ArrayBuffer または ArrayBufferView オブジェクトから SourceBuffer にメディアセグメントデータを非同期的に追加するプロセスを開始します。 バッファが追加されると満たされる Promise を返します。

構文

appendPromise = sourceBuffer.appendBufferAsync(source);

パラメーター

source
SourceBuffer に追加するメディアセグメントデータを含む BufferSource(つまり、ArrayBufferView または ArrayBuffer)。

戻り値

バッファが SourceBuffer に正常に追加されたときに満たされる Promise、または要求を開始できなかった場合は null

この単純化された非同期関数の例 fillSourceBuffer() は、入力パラメーターとして 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)の後援の下で実験されています。

仕様 状態 コメント
Media Source Extensions 勧告 初期定義、このメソッドは含まれません。

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
appendBufferAsyncChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 62
無効
完全対応 62
無効
無効 From version 62: this feature is behind the media.mediasource.experimental.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 ありFirefox Android 未対応 なしOpera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 完全対応 あり

凡例

完全対応  
完全対応
未対応  
未対応
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。

関連情報