SourceBuffer.mode

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

SourceBuffer インターフェイスの mode プロパティは、メディアセグメントを SourceBuffer に任意の順序で追加できるか、厳密な順序で追加できるかを制御します。

使用可能な2つの値は次のとおりです。

  • segments: メディアセグメントのタイムスタンプが、セグメントの再生順序を決定します。 セグメントは、任意の順序で SourceBuffer に追加できます。
  • sequence: セグメントが SourceBuffer に追加される順序により、セグメントの再生順序を決定します。 セグメントのタイムスタンプは、この順序に従ってセグメントに対して自動的に生成されます。

mode 値は、MediaSource.addSourceBuffer() を使用して SourceBuffer が作成されるときに最初に設定されます。 メディアセグメントにタイムスタンプが既に存在する場合、値は segments に設定されます。 そうでない場合、値は sequence に設定されます。

初期値が sequence のときに mode プロパティ値を segments に設定しようとすると、例外がスローされます。 sequence モードでは、既存のセグメントの順序を維持する必要があります。 ただし、値を segments から sequence に変更することはできます。 これは、再生順序が固定され、これを反映するために新しいタイムスタンプが生成されることを意味します。

このプロパティは、SourceBufferappendBuffer() または remove() の呼び出しを処理している間は変更できません。

構文

var myMode = sourceBuffer.mode;

sourceBuffer.mode = 'sequence';

DOMString

例外

このプロパティに新しい値を設定すると、次の例外がスローされる場合があります。

例外 説明
InvalidAccessError 初期値が sequence の場合に、値を segments に設定しようとしました。
InvalidStateError SourceBuffer オブジェクトが更新中(つまり、その SourceBuffer.updating プロパティが現在 true)、この SourceBuffer に追加された最後のメディアセグメントが不完全、またはこの SourceBufferMediaSource から取り除かれています。

このスニペットは、sourceBuffer のモードが、 現在 'segments' に設定されている場合、'sequence' に設定します。 したがって、再生順序は、メディアセグメントを追加した順に設定されます。

var curMode = sourceBuffer.mode;
if (curMode == 'segments') {
  sourceBuffer.mode = 'sequence';
}

仕様

仕様 状態 コメント
Media Source Extensions
mode の定義
勧告 初期定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
modeChrome 完全対応 23Edge 完全対応 12Firefox 完全対応 42
完全対応 42
未対応 25 — 42
補足 無効
補足 Limited support to an allowed list of sites, for example YouTube, Netflix, and other popular streaming sites. The limitation was removed when Media Source Extensions was enabled by default in Firefox 42.
無効 From version 25 until version 42 (exclusive): this feature is behind the media.mediasource.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 完全対応 11
補足
完全対応 11
補足
補足 Only works on Windows 8+.
Opera 完全対応 15Safari 完全対応 8WebView Android 完全対応 4.4.3Chrome Android 完全対応 33Firefox Android 未対応 なしOpera Android 完全対応 14Safari iOS 未対応 なしSamsung Internet Android 完全対応 3.0

凡例

完全対応  
完全対応
未対応  
未対応
実装ノートを参照してください。
実装ノートを参照してください。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。

関連情報