From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../api/mediasource/activesourcebuffers/index.html | 82 ++++++++++++++ .../web/api/mediasource/addsourcebuffer/index.html | 111 +++++++++++++++++++ .../mediasource/clearliveseekablerange/index.html | 54 ++++++++++ files/ja/web/api/mediasource/duration/index.html | 105 ++++++++++++++++++ .../ja/web/api/mediasource/endofstream/index.html | 120 +++++++++++++++++++++ files/ja/web/api/mediasource/index.html | 83 ++++++++++++++ .../web/api/mediasource/istypesupported/index.html | 105 ++++++++++++++++++ .../ja/web/api/mediasource/mediasource/index.html | 64 +++++++++++ files/ja/web/api/mediasource/readystate/index.html | 92 ++++++++++++++++ .../api/mediasource/removesourcebuffer/index.html | 92 ++++++++++++++++ .../mediasource/setliveseekablerange/index.html | 63 +++++++++++ .../web/api/mediasource/sourcebuffers/index.html | 80 ++++++++++++++ 12 files changed, 1051 insertions(+) create mode 100644 files/ja/web/api/mediasource/activesourcebuffers/index.html create mode 100644 files/ja/web/api/mediasource/addsourcebuffer/index.html create mode 100644 files/ja/web/api/mediasource/clearliveseekablerange/index.html create mode 100644 files/ja/web/api/mediasource/duration/index.html create mode 100644 files/ja/web/api/mediasource/endofstream/index.html create mode 100644 files/ja/web/api/mediasource/index.html create mode 100644 files/ja/web/api/mediasource/istypesupported/index.html create mode 100644 files/ja/web/api/mediasource/mediasource/index.html create mode 100644 files/ja/web/api/mediasource/readystate/index.html create mode 100644 files/ja/web/api/mediasource/removesourcebuffer/index.html create mode 100644 files/ja/web/api/mediasource/setliveseekablerange/index.html create mode 100644 files/ja/web/api/mediasource/sourcebuffers/index.html (limited to 'files/ja/web/api/mediasource') diff --git a/files/ja/web/api/mediasource/activesourcebuffers/index.html b/files/ja/web/api/mediasource/activesourcebuffers/index.html new file mode 100644 index 0000000000..272b7ff595 --- /dev/null +++ b/files/ja/web/api/mediasource/activesourcebuffers/index.html @@ -0,0 +1,82 @@ +--- +title: MediaSource.activeSourceBuffers +slug: Web/API/MediaSource/activeSourceBuffers +tags: + - API + - Audio + - Experimental + - MSE + - Media Source Extensions + - MediaSource + - Property + - Reference + - Video + - activeSourceBuffers +translation_of: Web/API/MediaSource/activeSourceBuffers +--- +
{{APIRef("Media Source Extensions")}}
+ +

{{domxref("MediaSource")}} インターフェイスの activeSourceBuffers 読み取り専用プロパティは、{{domxref("MediaSource.sourceBuffers", "sourceBuffers")}} に含まれる {{domxref("SourceBuffer")}} オブジェクトのサブセットを含む {{domxref("SourceBufferList")}} オブジェクトを返します。 これは、選択した動画トラック、有効な音声トラック、および表示/非表示のテキストトラックを提供するオブジェクトのリストです。

+ +

構文

+ +
var myActiveSourceBuffers = mediaSource.activeSourceBuffers;
+ +

+ +

アクティブな各トラックの {{domxref("SourceBuffer")}} オブジェクトを含む {{domxref("SourceBufferList")}}。

+ +

+ +

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

+ +
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();
+      console.log(mediaSource.activeSourceBuffers);
+      // 動画プレーヤーでの再生用に選択されているため、
+      // 上記で追加されたソースバッファーが含まれます。
+      video.play();
+      //console.log(mediaSource.readyState); // ended
+    });
+    sourceBuffer.appendBuffer(buf);
+  });
+};
+
+...
+ +

仕様

+ + + + + + + + + + + + + + +
仕様状態コメント
{{SpecName('Media Source Extensions', '#idl-def-mediasource-activesourcebuffers', 'activeSourceBuffers')}}{{Spec2('Media Source Extensions')}}初期定義
+ +

ブラウザーの互換性

+ +
+ + +

{{Compat("api.MediaSource.activeSourceBuffers")}}

+
+ +

関連情報

+ + diff --git a/files/ja/web/api/mediasource/addsourcebuffer/index.html b/files/ja/web/api/mediasource/addsourcebuffer/index.html new file mode 100644 index 0000000000..db6af6365e --- /dev/null +++ b/files/ja/web/api/mediasource/addsourcebuffer/index.html @@ -0,0 +1,111 @@ +--- +title: MediaSource.addSourceBuffer() +slug: Web/API/MediaSource/addSourceBuffer +tags: + - API + - Audio + - MSE + - Media + - Media Source Extensions + - MediaSource + - Method + - Reference + - Video + - addSourceBuffer +translation_of: Web/API/MediaSource/addSourceBuffer +--- +
{{APIRef("Media Source Extensions")}}
+ +

{{domxref("MediaSource")}} インターフェイスの addSourceBuffer() メソッドは、指定された {{Glossary("MIME type","MIME タイプ")}}の新しい {{domxref("SourceBuffer")}} を作成し、MediaSource の {{domxref("MediaSource.sourceBuffers", "sourceBuffers")}} リストに追加します。 新しい SourceBuffer も返されます。

+ +

構文

+ +
var sourceBuffer = mediaSource.addSourceBuffer(mimeType);
+ +

パラメーター

+ +
+
mimeType
+
{{domxref("MediaSource")}} に作成して追加する {{domxref("SourceBuffer")}} の MIME タイプを指定する {{domxref("DOMString")}}。
+
+ +

戻り値

+ +

作成され、メディアソースに追加された新しいソースバッファを表す {{domxref("SourceBuffer")}} オブジェクト。

+ +

例外

+ +
+
InvalidAccessError
+
mimeType に指定された値は、有効な MIME タイプではなく空の文字列です。
+
InvalidStateError
+
{{domxref("MediaSource")}} の {{domxref("MediaSource.readyState", "readyState")}} は "open" でありません。
+
NotSupportedError
+
指定された mimeType は{{Glossary("user agent","ユーザーエージェント")}}でサポートされていないか、メディアソースの {{domxref("MediaSource.sourceBuffers", "sourceBuffers")}} リストに既に含まれている他の {{domxref("SourceBuffer")}} オブジェクトの MIME タイプと互換性がありません。
+
QuotaExceededError
+
ユーザーエージェントはこれ以上 SourceBuffer オブジェクトを処理できないか、指定された mimeType を使用して新しい SourceBuffer を作成すると、SourceBuffer の構成がサポートされなくなります
+
+ +

+ +

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

+ +
var assetURL = 'frag_bunny.mp4';
+// Blink はコーデックに関して特定する必要がある
+// ./mp4info frag_bunny.mp4 | grep Codec
+var mimeCodec = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"';
+
+if ('MediaSource' in window && MediaSource.isTypeSupported(mimeCodec)) {
+  var mediaSource = new MediaSource;
+  //console.log(mediaSource.readyState); // closed
+  video.src = URL.createObjectURL(mediaSource);
+  mediaSource.addEventListener('sourceopen', sourceOpen);
+} else {
+  console.error('サポートされていない MIME タイプまたはコーデック: ', mimeCodec);
+}
+
+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();
+      video.play();
+      //console.log(mediaSource.readyState); // ended
+    });
+    sourceBuffer.appendBuffer(buf);
+  });
+};
+ +

仕様

+ + + + + + + + + + + + + + +
仕様状態コメント
{{SpecName('Media Source Extensions', '#idl-def-mediasource-addsourcebuffer(domstring)', 'addSourceBuffer()')}}{{Spec2('Media Source Extensions')}}初期定義
+ +

ブラウザーの互換性

+ +
+ + +

{{Compat("api.MediaSource.addSourceBuffer")}}

+
+ +

関連情報

+ + diff --git a/files/ja/web/api/mediasource/clearliveseekablerange/index.html b/files/ja/web/api/mediasource/clearliveseekablerange/index.html new file mode 100644 index 0000000000..5572440c1f --- /dev/null +++ b/files/ja/web/api/mediasource/clearliveseekablerange/index.html @@ -0,0 +1,54 @@ +--- +title: MediaSource.clearLiveSeekableRange() +slug: Web/API/MediaSource/clearLiveSeekableRange +tags: + - API + - Audio + - Extensions + - Media + - Media Source Extensions + - MediaSource + - Method + - Reference + - Video + - clearLiveSeekableRange() +translation_of: Web/API/MediaSource/clearLiveSeekableRange +--- +

{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}

+ +

{{domxref("MediaSource")}} インターフェイスの clearLiveSeekableRange() メソッドは、{{domxref("MediaSource.setLiveSeekableRange()","setLiveSeekableRange()")}} の呼び出しで以前に設定されたシーク可能な範囲をクリアします。

+ +

構文

+ +
mediaSource.clearLiveSeekableRange()
+ +

パラメーター

+ +

なし。

+ +

戻り値

+ +

{{jsxref('undefined')}}

+ +

仕様

+ + + + + + + + + + + + + + +
仕様状態コメント
{{SpecName('Media Source Extensions','#dom-mediasource-clearliveseekablerange','clearLiveSeekableRange()')}}{{Spec2('Media Source Extensions')}}初期定義
+ +

ブラウザーの互換性

+ + + +

{{Compat("api.MediaSource.clearLiveSeekableRange")}}

diff --git a/files/ja/web/api/mediasource/duration/index.html b/files/ja/web/api/mediasource/duration/index.html new file mode 100644 index 0000000000..061cdce2dc --- /dev/null +++ b/files/ja/web/api/mediasource/duration/index.html @@ -0,0 +1,105 @@ +--- +title: MediaSource.duration +slug: Web/API/MediaSource/duration +tags: + - API + - Audio + - Experimental + - MSE + - Media Source Extensions + - MediaSource + - Property + - Reference + - Video + - duration +translation_of: Web/API/MediaSource/duration +--- +
{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}
+ +

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

+ +

構文

+ +
mediaSource.duration = 5.5; // 5.5 seconds
+
+var myDuration = mediaSource.duration;
+ +

+ +

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

+ +

例外

+ +

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

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

+ +

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

+ +
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);
+  });
+};
+
+...
+ +

仕様

+ + + + + + + + + + + + + + +
仕様状態コメント
{{SpecName('Media Source Extensions', '#idl-def-mediasource-duration', 'duration')}}{{Spec2('Media Source Extensions')}}初期定義
+ +

ブラウザーの互換性

+ +
+ + +

{{Compat("api.MediaSource.duration")}}

+
+ +

関連情報

+ + diff --git a/files/ja/web/api/mediasource/endofstream/index.html b/files/ja/web/api/mediasource/endofstream/index.html new file mode 100644 index 0000000000..26d2ff27a4 --- /dev/null +++ b/files/ja/web/api/mediasource/endofstream/index.html @@ -0,0 +1,120 @@ +--- +title: MediaSource.endOfStream() +slug: Web/API/MediaSource/endOfStream +tags: + - API + - Audio + - Experimental + - MSE + - Media Source Extensions + - MediaSource + - Method + - Reference + - Video + - endOfStream +translation_of: Web/API/MediaSource/endOfStream +--- +
{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}
+ +

{{domxref("MediaSource")}} インターフェイスの endOfStream() メソッドは、ストリームの終わりを通知します。

+ +

構文

+ +
mediaSource.endOfStream(endOfStreamError);
+ +

パラメーター

+ +
+
endOfStreamError {{optional_inline}}
+
ストリームの終わりに達したときにスローするエラーを表す {{domxref("DOMString")}}。 可能な値は次のとおりです。 +
    +
  • network: 再生を終了し、ネットワークエラーが発生したことを通知します。 これを使用して、メディアストリームに関連するカスタムエラーハンドラを作成できます。 例えば、他のネットワーク要求とは別に、メディアチャンク要求を処理する関数があるとします。 メディアチャンクに対して XMLHttpRequest 呼び出しを行い、onabort または onerror がトリガーされた場合、endOfStream('network') を呼び出し、UI に説明的なメッセージを表示し、ネットワーク要求をすぐに再試行するか、ネットワークが(何らかのポーリングを介して)復旧するまで待機できます。
  • +
  • decode: 再生を終了し、デコードエラーが発生したことを通知します。 これは、メディアデータの取得中に解析エラーが発生したことを示すために使用できます。 データが破損しているか、ブラウザーがデコード方法を知らないコーデックを使用してエンコードされている可能性があります。
  • +
+
+
+ +

戻り値

+ +

{{jsxref('undefined')}}

+ +

例外

+ + + + + + + + + + + + + + +
例外説明
InvalidStateError{{domxref("MediaSource.readyState")}} が open と等しくないか、{{domxref("MediaSource.sourceBuffers")}} の {{domxref("SourceBuffer")}} オブジェクトの1つ以上が更新されています(つまり、{{domxref("SourceBuffer.updating")}} プロパティが true です)
+ +

+ +

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

+ +
var assetURL = 'frag_bunny.mp4';
+// Blink はコーデックに関して特定する必要がある
+// ./mp4info frag_bunny.mp4 | grep Codec
+var mimeCodec = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"';
+
+if ('MediaSource' in window && MediaSource.isTypeSupported(mimeCodec)) {
+  var mediaSource = new MediaSource;
+  //console.log(mediaSource.readyState); // closed
+  video.src = URL.createObjectURL(mediaSource);
+  mediaSource.addEventListener('sourceopen', sourceOpen);
+} else {
+  console.error('サポートされていない MIME タイプまたはコーデック: ', mimeCodec);
+}
+
+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();
+      video.play();
+      //console.log(mediaSource.readyState); // ended
+    });
+    sourceBuffer.appendBuffer(buf);
+  });
+};
+ +

仕様

+ + + + + + + + + + + + + + +
仕様状態コメント
{{SpecName('Media Source Extensions', '#idl-def-mediasource-endofstream(optional-endofstreamerror)', 'endOfStream()')}}{{Spec2('Media Source Extensions')}}初期定義
+ +

ブラウザーの互換性

+ +
+ + +

{{Compat("api.MediaSource.endOfStream")}}

+
+ +

関連情報

+ + diff --git a/files/ja/web/api/mediasource/index.html b/files/ja/web/api/mediasource/index.html new file mode 100644 index 0000000000..a6d6930a6c --- /dev/null +++ b/files/ja/web/api/mediasource/index.html @@ -0,0 +1,83 @@ +--- +title: MediaSource +slug: Web/API/MediaSource +translation_of: Web/API/MediaSource +--- +

{{SeeCompatTable}}

+ +

MediaSourceインターフェイスは、{{domxref("HTMLMediaElement")}}のデータを扱っています。MediaSourceをオブジェクトは、ユーザが再生する{{domxref("HTMLMediaElement")}}につけることができます。

+ +

プロパティ

+ +

{{domxref("EventTarget")}}からプロパティを継承しています。

+ +
+
{{domxref("MediaSource.sourceBuffers")}}{{readonlyInline}}
+
{{domxref("SourceBufferList")}}から成り立っています。
+
{{domxref("MediaSource.activeSourceBuffers")}} {{readonlyInline}}
+
{{domxref("SourceBufferList")}} から成り立っています。
+
{{domxref("MediaSource.readyState")}} {{readonlyInline}}
+
値を列挙します。
+
{{domxref("MediaSource.duration")}}
+
浮動小数点型です。
+
+ +

コンストラクタ

+ +
+
{{domxref("MediaSource.MediaSource", "MediaSource()")}} {{readonlyInline}}
+
コンストラクタはソースバッファと関連しないMediaSourceオブジェクトを返します
+
+ +

Staticなメソッド

+ +
+
{{domxref("MediaSource.isTypeSupported()")}}
+
与えられたMIMEタイプが完全に実行できるかどうかの{{domxref("Boolean")}}型を返します。
+
+ +

メソッド

+ +

親インターフェイス{{domxref("EventTarget")}}から、プロパティを継承しています。

+ +
+
{{domxref("MediaSource.addSourceBuffer()")}}
+
MediaSource オブジェクトに関連づけて作成し、 ,  {{domxref("SourceBuffer")}} に与えられたMIMEタイプを返します。 +
+
+
{{domxref("MediaSource.removeSourceBuffer()")}}
+
メディアソースオブジェクトから、与えられた {{domxref("SourceBuffer")}} を削除します。
+
{{domxref("MediaSource.endOfStream()")}}
+
ストリームの終わりを合図します。最後にはerrorを発するでしょう。
+
+
+
+ +

仕様書

+ + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('Media Source Extensions', '#mediasource', 'MediaSource')}}{{Spec2('Media Source Extensions')}}Initial definition.
+ +

ブラウザの互換性

+ + + +
{{Compat("api.MediaSource")}}
+ +

関連項目

+ + diff --git a/files/ja/web/api/mediasource/istypesupported/index.html b/files/ja/web/api/mediasource/istypesupported/index.html new file mode 100644 index 0000000000..46c9e237ab --- /dev/null +++ b/files/ja/web/api/mediasource/istypesupported/index.html @@ -0,0 +1,105 @@ +--- +title: MediaSource.isTypeSupported() +slug: Web/API/MediaSource/isTypeSupported +tags: + - API + - Audio + - Experimental + - MSE + - Media Source Extensions + - MediaSource + - Method + - Reference + - Static + - Static Method + - Video + - isTypeSupported +translation_of: Web/API/MediaSource/isTypeSupported +--- +
{{APIRef("Media Source Extensions")}}
+ +

MediaSource.isTypeSupported() 静的メソッドは、指定された MIME タイプが現在の{{Glossary("user agent","ユーザーエージェント")}}によってサポートされる可能性が高い場合に true となる {{jsxref("Boolean")}} 値を返します。 つまり、その MIME タイプの {{domxref("SourceBuffer")}} オブジェクトを正常に作成できる場合です。 返された値が false の場合、ユーザーエージェントは、指定された形式のメディアにアクセスできないと確信しています。

+ +

構文

+ +
var isItSupported = mediaSource.isTypeSupported(mimeType);
+ +

パラメーター

+ +
+
mimeType
+
現在のブラウザーでのサポートをテストする MIME メディアタイプ。 これには、ファイル内で使用されるコーデックに関する追加の詳細を提供する codecs パラメーターが含まれる場合があります。
+
+ +

戻り値

+ +

指定されたタイプのメディアをおそらく再生できるとブラウザーが感じる場合に true になる {{jsxref("Boolean")}}。 ただし、これは保証ではなく、メディアが正しく再生されない可能性に備えてコードを準備する必要があります。 ただし、値 false は、指定されたタイプのメディアが再生されないことを保証します。

+ +

メディアファイルで動作するすべての Web API は、メディアタイプを使用できるかどうかを判断するときに、「いいえ/多分/おそらく」アプローチ(または、この場合は「いいえまたはおそらく」)を使用します。 これは、メディアファイルが複雑で難解な構造であるため、実際にメディアのコンテンツを使用するまでは、微妙なバリエーションが多すぎて絶対に確実ではないためです。

+ +

+ +

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

+ +
var assetURL = 'frag_bunny.mp4';
+// Blink はコーデックに関して特定する必要がある
+// ./mp4info frag_bunny.mp4 | grep Codec
+var mimeCodec = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"';
+
+if ('MediaSource' in window && MediaSource.isTypeSupported(mimeCodec)) {
+  var mediaSource = new MediaSource;
+  //console.log(mediaSource.readyState); // closed
+  video.src = URL.createObjectURL(mediaSource);
+  mediaSource.addEventListener('sourceopen', sourceOpen);
+} else {
+  console.error('サポートされていない MIME タイプまたはコーデック: ', mimeCodec);
+}
+
+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();
+      video.play();
+      //console.log(mediaSource.readyState); // ended
+    });
+    sourceBuffer.appendBuffer(buf);
+  });
+};
+ +

仕様

+ + + + + + + + + + + + + + +
仕様状態コメント
{{SpecName('Media Source Extensions', '#idl-def-mediasource-istypesupported(domstring)', 'isTypeSupported()')}}{{Spec2('Media Source Extensions')}}初期定義
+ +

ブラウザーの互換性

+ +
+ + +

{{Compat("api.MediaSource.isTypeSupported")}}

+
+ +

関連情報

+ + diff --git a/files/ja/web/api/mediasource/mediasource/index.html b/files/ja/web/api/mediasource/mediasource/index.html new file mode 100644 index 0000000000..a47a6c66a4 --- /dev/null +++ b/files/ja/web/api/mediasource/mediasource/index.html @@ -0,0 +1,64 @@ +--- +title: MediaSource.MediaSource() +slug: Web/API/MediaSource/MediaSource +tags: + - API + - Audio + - Constructor + - Experimental + - MSE + - Media Source Extensions + - MediaSource + - Reference + - Video +translation_of: Web/API/MediaSource/MediaSource +--- +
{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}
+ +

{{domxref("MediaSource")}} インターフェイスの MediaSource() コンストラクタは、ソースバッファが関連付けられていない新しい MediaSource オブジェクトを構築して返します。

+ +

構文

+ +
var mediaSource = new MediaSource();
+ +

パラメーター

+ +

なし。

+ +

+ +

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

+ +
var video = document.querySelector('video');
+
+var assetURL = 'frag_bunny.mp4';
+// Blink はコーデックに関して特定する必要がある
+// ./mp4info frag_bunny.mp4 | grep Codec
+var mimeCodec = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"';
+
+if ('MediaSource' in window && MediaSource.isTypeSupported(mimeCodec)) {
+  var mediaSource = new MediaSource;
+  //console.log(mediaSource.readyState); // closed
+  video.src = URL.createObjectURL(mediaSource);
+  mediaSource.addEventListener('sourceopen', sourceOpen);
+} else {
+  console.error('サポートされていない MIME タイプまたはコーデック: ', mimeCodec);
+}
+
+...
+
+ +

ブラウザーの互換性

+ +
+ + +

{{Compat("api.MediaSource.MediaSource")}}

+
+ +

関連情報

+ + diff --git a/files/ja/web/api/mediasource/readystate/index.html b/files/ja/web/api/mediasource/readystate/index.html new file mode 100644 index 0000000000..75a01b6560 --- /dev/null +++ b/files/ja/web/api/mediasource/readystate/index.html @@ -0,0 +1,92 @@ +--- +title: MediaSource.readyState +slug: Web/API/MediaSource/readyState +tags: + - API + - Audio + - Experimental + - MSE + - Media Source Extensions + - MediaSource + - Property + - Reference + - Video + - readyState +translation_of: Web/API/MediaSource/readyState +--- +
{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}
+ +

{{domxref("MediaSource")}} インターフェイスの readyState 読み取り専用プロパティは、現在の MediaSource の状態を表す列挙を返します。 3つの可能な値は次のとおりです。

+ + + +

構文

+ +
var myReadyState = mediaSource.readyState;
+ +

+ +

{{domxref("DOMString")}}。

+ +

+ +

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

+ +
if ('MediaSource' in window && MediaSource.isTypeSupported(mimeCodec)) {
+  var mediaSource = new MediaSource;
+  //console.log(mediaSource.readyState); // closed
+  video.src = URL.createObjectURL(mediaSource);
+  mediaSource.addEventListener('sourceopen', sourceOpen);
+} else {
+  console.error('サポートされていない MIME タイプまたはコーデック: ', mimeCodec);
+}
+
+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();
+      video.play();
+      //console.log(mediaSource.readyState); // ended
+    });
+    sourceBuffer.appendBuffer(buf);
+  });
+};
+ +

仕様

+ + + + + + + + + + + + + + +
仕様状態コメント
{{SpecName('Media Source Extensions', '#idl-def-mediasource-readystate', 'readyState')}}{{Spec2('Media Source Extensions')}}初期定義
+ +

ブラウザーの互換性

+ +
+ + +

{{Compat("api.MediaSource.readyState")}}

+
+ +

関連情報

+ + diff --git a/files/ja/web/api/mediasource/removesourcebuffer/index.html b/files/ja/web/api/mediasource/removesourcebuffer/index.html new file mode 100644 index 0000000000..9905211067 --- /dev/null +++ b/files/ja/web/api/mediasource/removesourcebuffer/index.html @@ -0,0 +1,92 @@ +--- +title: MediaSource.removeSourceBuffer() +slug: Web/API/MediaSource/removeSourceBuffer +tags: + - API + - Audio + - Experimental + - MSE + - Media Source Extensions + - MediaSource + - Method + - Reference + - Video + - removeSourceBuffer +translation_of: Web/API/MediaSource/removeSourceBuffer +--- +
{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}
+ +

{{domxref("MediaSource")}} インターフェイスの removeSourceBuffer() メソッドは、この MediaSource オブジェクトに関連付けられた {{domxref("SourceBuffers")}} リストから指定された {{domxref("SourceBuffer")}} を削除します。

+ +

構文

+ +
mediaSource.removeSourceBuffer(sourceBuffer);
+ +

パラメーター

+ +
+
sourceBuffer
+
削除する {{domxref("SourceBuffer")}} オブジェクト。
+
+ +

戻り値

+ +

{{jsxref('undefined')}}

+ +

例外

+ + + + + + + + + + + + + + +
例外説明
NotFoundError指定された sourceBuffer は {{domxref("MediaSource.sourceBuffers")}} に存在しません。
+ +

+ +
for (i = 0; i < 10; i++) {
+  var sourceBuffer = mediaSource.addSourceBuffer(mimeCodec);
+}
+
+mediaSource.removeSourceBuffer(mediaSource.sourceBuffers[0]);
+
+ +

仕様

+ + + + + + + + + + + + + + +
仕様状態コメント
{{SpecName('Media Source Extensions', '#idl-def-mediasource-removesourcebuffer(sourcebuffer)', 'removeSourceBuffer()')}}{{Spec2('Media Source Extensions')}}初期定義
+ +

ブラウザーの互換性

+ +
+ + +

{{Compat("api.MediaSource.removeSourceBuffer")}}

+
+ +

関連情報

+ + diff --git a/files/ja/web/api/mediasource/setliveseekablerange/index.html b/files/ja/web/api/mediasource/setliveseekablerange/index.html new file mode 100644 index 0000000000..8a84f6c797 --- /dev/null +++ b/files/ja/web/api/mediasource/setliveseekablerange/index.html @@ -0,0 +1,63 @@ +--- +title: MediaSource.setLiveSeekableRange() +slug: Web/API/MediaSource/setLiveSeekableRange +tags: + - API + - Audio + - Extensions + - Media + - Media Source Extensions + - MediaSource + - Method + - Reference + - Video + - setLiveSeekableRange() +translation_of: Web/API/MediaSource/setLiveSeekableRange +--- +

{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}

+ +

{{domxref("MediaSource")}} インターフェイスの setLiveSeekableRange() メソッドは、ユーザーがメディア要素でシークできる範囲を設定します。

+ +

構文

+ +
mediaSource.setLiveSeekableRange(start, end)
+ +

パラメーター

+ +
+
start
+
ソースの最初から測定された秒単位で設定するシーク可能な範囲の始まり。 メディアソースの期間が正の無限大である場合、{{domxref("HTMLMediaElement.seekable")}} プロパティによって返される {{domxref("TimeRanges")}} オブジェクトは、この値以下の開始タイムスタンプを持ちます。
+
end
+
ソースの最初から測定された秒単位で設定するシーク可能な範囲の終わり。 メディアソースの期間が正の無限大である場合、{{domxref("HTMLMediaElement.seekable")}} プロパティによって返される {{domxref("TimeRanges")}} オブジェクトは、この値以上の終了タイムスタンプを持ちます。
+
+ +

戻り値

+ +

{{jsxref('undefined')}}

+ +

+ +
// 未定
+ +

仕様

+ + + + + + + + + + + + + + +
仕様状態コメント
{{SpecName('Media Source Extensions','#dom-mediasource-setliveseekablerange','setLiveSeekableRange()')}}{{Spec2('Media Source Extensions')}}初期定義
+ +

ブラウザーの互換性

+ + + +

{{Compat("api.MediaSource.setLiveSeekableRange")}}

diff --git a/files/ja/web/api/mediasource/sourcebuffers/index.html b/files/ja/web/api/mediasource/sourcebuffers/index.html new file mode 100644 index 0000000000..55603fdf77 --- /dev/null +++ b/files/ja/web/api/mediasource/sourcebuffers/index.html @@ -0,0 +1,80 @@ +--- +title: MediaSource.sourceBuffers +slug: Web/API/MediaSource/sourceBuffers +tags: + - API + - Audio + - Experimental + - MSE + - Media Source Extensions + - MediaSource + - Property + - Reference + - Video + - sourceBuffers +translation_of: Web/API/MediaSource/sourceBuffers +--- +
{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}
+ +

{{domxref("MediaSource")}} インターフェイス の sourceBuffers 読み取り専用プロパティは、この MediaSource に関連付けられた {{domxref("SourceBuffer")}} オブジェクトのリストを含む {{domxref("SourceBufferList")}} オブジェクトを返します。

+ +

構文

+ +
var mySourceBuffers = mediaSource.sourceBuffers;
+ +

+ +

{{domxref("SourceBufferList")}}。

+ +

+ +

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

+ +
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();
+      console.log(mediaSource.sourceBuffers); // 上で追加されたソースバッファが含まれます
+      video.play();
+      //console.log(mediaSource.readyState); // ended
+    });
+    sourceBuffer.appendBuffer(buf);
+  });
+};
+
+...
+ +

仕様

+ + + + + + + + + + + + + + +
仕様状態コメント
{{SpecName('Media Source Extensions', '#idl-def-mediasource-sourcebuffers', 'sourceBuffers')}}{{Spec2('Media Source Extensions')}}初期定義
+ +

ブラウザーの互換性

+ +
+ + +

{{Compat("api.MediaSource.sourceBuffers")}}

+
+ +

関連情報

+ + -- cgit v1.2.3-54-g00ecf