MediaSource.duration

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

MediaSource インターフェイスの duration プロパティは、現在表示されているメディアの期間(長さ)を取得および設定します。

構文

mediaSource.duration = 5.5; // 5.5 seconds

var myDuration = mediaSource.duration;

double 型。 秒単位の値が必要です。

例外

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

例外 説明
InvalidAccessError 負、または NaN の期間値を設定しようとした。
InvalidStateError MediaSource.readyStateopen と等しくないか、MediaSource.sourceBuffersSourceBuffer オブジェクトの 1 つ以上が更新されています(つまり、SourceBuffer.updating プロパティが true です)。

次のスニペットは、Nick Desaulniers によって書かれた簡単な例に基づいています(ライブで完全なデモを見るか、ソースをダウンロードしてさらに調査してください)。

js

function sourceOpen (_) {
  //console.log(this.readyState); // open
  var mediaSource = this;
  var sourceBuffer = mediaSource.addSourceBuffer(mimeCodec);
  fetchAB(assetURL, function (buf) {
    sourceBuffer.addEventListener('updateend', function (_) {
      mediaSource.endOfStream();
      mediaSource.duration = 120;
      video.play();
      //console.log(mediaSource.readyState); // ended
    });
    sourceBuffer.appendBuffer(buf);
  });
};

...

仕様

Specification
Media Source Extensions™
# dom-mediasource-duration

ブラウザーの互換性

BCD tables only load in the browser

関連情報