diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
commit | 33058f2b292b3a581333bdfb21b8f671898c5060 (patch) | |
tree | 51c3e392513ec574331b2d3f85c394445ea803c6 /files/ja/web/api/sourcebuffer | |
parent | 8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff) | |
download | translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2 translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip |
initial commit
Diffstat (limited to 'files/ja/web/api/sourcebuffer')
18 files changed, 1534 insertions, 0 deletions
diff --git a/files/ja/web/api/sourcebuffer/abort/index.html b/files/ja/web/api/sourcebuffer/abort/index.html new file mode 100644 index 0000000000..fc17a4e2a3 --- /dev/null +++ b/files/ja/web/api/sourcebuffer/abort/index.html @@ -0,0 +1,97 @@ +--- +title: SourceBuffer.abort() +slug: Web/API/SourceBuffer/abort +tags: + - API + - Audio + - Experimental + - MSE + - Media Source Extensions + - Method + - Reference + - SourceBuffer + - Video + - abort +translation_of: Web/API/SourceBuffer/abort +--- +<div>{{draft}}{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}</div> + +<p><span class="seoSummary">{{domxref("SourceBuffer")}} インターフェイスの <strong><code>abort()</code></strong> メソッドは、現在のセグメントを打ち切り、セグメントパーサーをリセットします。</span></p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox"><em>sourceBuffer</em>.abort(); +</pre> + +<h3 id="Parameters" name="Parameters">パラメーター</h3> + +<p>なし。</p> + +<h3 id="Return_value" name="Return_value">戻り値</h3> + +<p>{{jsxref('undefined')}}。</p> + +<h3 id="Exceptions" name="Exceptions">例外</h3> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">例外</th> + <th scope="col">説明</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>InvalidStateError</code></td> + <td>親メディアソースの {{domxref("MediaSource.readyState")}} プロパティが <code>open</code> と等しくないか、この <code>SourceBuffer</code> が {{domxref("MediaSource")}} から取り除かれています。</td> + </tr> + </tbody> +</table> + +<h2 id="Example" name="Example">例</h2> + +<p><code>abort()</code> の仕様の説明はやや混乱します。 例えば、パーサーの状態のリセット(<a href="http://w3c.github.io/media-source/index.html#sourcebuffer-reset-parser-state">reset parser state</a>)のステップ1を検討してください。 MSE API は完全に非同期ですが、この手順は同期(ブロッキング)操作を示唆しているように見えますが、これは意味がありません。</p> + +<p>つまり、現在の実装は、ソースバッファで発生している現在の追加(またはその他)操作を停止し、すぐに操作を再開したい特定の状況で役立ちます。 例えば、次のコードを検討してください。</p> + +<pre class="brush: js">sourceBuffer.addEventListener('updateend', function (_) { + ... +}); + +sourceBuffer.appendBuffer(buf);</pre> + +<p><code>appendBuffer</code> の呼び出し後、<code>updateend</code> イベントが発生する前(つまり、バッファは追加されているが、操作はまだ完了していない)に、ユーザーが新しいポイントを探して動画を「スクラブ」するとします。 この場合、ソースバッファで <code>abort()</code> を手動で呼び出して現在のバッファのデコードを停止し、動画の現在の新しい位置に関連する新しく要求されたセグメントを取得して追加します。</p> + +<p>Nick Desaulnier の <a href="https://github.com/nickdesaulniers/netfix/blob/gh-pages/demo/bufferWhenNeeded.html">bufferWhenNeeded デモ</a>で同様の動作を確認できます。 <a href="https://github.com/nickdesaulniers/netfix/blob/gh-pages/demo/bufferWhenNeeded.html#L48">48行目では、イベントリスナーが再生中の動画に追加され</a>、<code>seek()</code> という関数が <code>seeking</code> イベントが発生したときに実行されます。 <a href="https://github.com/nickdesaulniers/netfix/blob/gh-pages/demo/bufferWhenNeeded.html#L92-L101">行92〜101では、seek() 関数が定義されています</a>。 ここで、{{domxref("MediaSource.readyState")}} が <code>open</code> に設定されている場合、<code>abort()</code> が呼び出されることに注意してください。 つまり、新しいソースバッファを受信する準備ができていることを意味します。 この時点で、現在のセグメントを打ち切り、新しいシーク位置のセグメントを取得するだけの価値があります(<code><a href="https://github.com/nickdesaulniers/netfix/blob/gh-pages/demo/bufferWhenNeeded.html#L78-L90">checkBuffer()</a></code> および <code><a href="https://github.com/nickdesaulniers/netfix/blob/gh-pages/demo/bufferWhenNeeded.html#L103-L105">getCurrentSegment()</a></code> を参照)。</p> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('Media Source Extensions', '#idl-def-sourcebuffer-abort()', 'abort()')}}</td> + <td>{{Spec2('Media Source Extensions')}}</td> + <td>初期定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> + + +<p>{{Compat("api.SourceBuffer.abort")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("MediaSource")}}</li> + <li>{{domxref("SourceBufferList")}}</li> +</ul> diff --git a/files/ja/web/api/sourcebuffer/appendbuffer/index.html b/files/ja/web/api/sourcebuffer/appendbuffer/index.html new file mode 100644 index 0000000000..f2dc9591a8 --- /dev/null +++ b/files/ja/web/api/sourcebuffer/appendbuffer/index.html @@ -0,0 +1,76 @@ +--- +title: SourceBuffer.appendBuffer() +slug: Web/API/SourceBuffer/appendBuffer +tags: + - API + - Audio + - Experimental + - MSE + - Media + - Media Source Extensions + - Method + - Reference + - SourceBuffer + - Video + - appendBuffer +translation_of: Web/API/SourceBuffer/appendBuffer +--- +<div>{{draft}}{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}</div> + +<p>{{domxref("SourceBuffer")}} インターフェイスの <strong><code>appendBuffer()</code></strong> メソッドは、{{jsxref("ArrayBuffer")}} オブジェクトまたは <code>ArrayBufferView</code> オブジェクトからのメディアセグメントデータを <code>SourceBuffer</code> に追加します。</p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox"><em>sourceBuffer</em>.appendBuffer(<em>source</em>); +</pre> + +<h3 id="Parameters" name="Parameters">パラメーター</h3> + +<dl> + <dt><code>source</code></dt> + <dd><code>SourceBuffer</code> に追加するメディアセグメントデータを含む {{domxref("BufferSource")}}(つまり、{{domxref("ArrayBufferView")}} または {{jsxref("ArrayBuffer")}})。</dd> +</dl> + +<h3 id="Return_value" name="Return_value">戻り値</h3> + +<p>{{jsxref('undefined')}}。</p> + +<h3 id="Exceptions" name="Exceptions">例外</h3> + +<p>なし。</p> + +<h2 id="Example" name="Example">例</h2> + +<p>未定</p> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('Media Source Extensions', '#idl-def-sourcebuffer-appendbuffer(buffersource)', 'appendBuffer()')}}</td> + <td>{{Spec2('Media Source Extensions')}}</td> + <td>初期定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> + + +<p>{{Compat("api.SourceBuffer.appendBuffer")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("MediaSource")}}</li> + <li>{{domxref("SourceBufferList")}}</li> +</ul> diff --git a/files/ja/web/api/sourcebuffer/appendbufferasync/index.html b/files/ja/web/api/sourcebuffer/appendbufferasync/index.html new file mode 100644 index 0000000000..a1032f53b0 --- /dev/null +++ b/files/ja/web/api/sourcebuffer/appendbufferasync/index.html @@ -0,0 +1,87 @@ +--- +title: SourceBuffer.appendBufferAsync() +slug: Web/API/SourceBuffer/appendBufferAsync +tags: + - API + - Audio + - Experimental + - MSE + - Media + - Media Source Extensions + - Method + - Non-standard + - Reference + - SourceBuffer + - Video + - appendBufferAsync +translation_of: Web/API/SourceBuffer/appendBufferAsync +--- +<div>{{APIRef("Media Source Extensions")}}{{non-standard_header}}{{SeeCompatTable}}</div> + +<p><span class="seoSummary">{{domxref("SourceBuffer")}} インターフェイスの <strong><code>appendBufferAsync()</code></strong> メソッドは、{{jsxref("ArrayBuffer")}} または {{domxref("ArrayBufferView")}} オブジェクトから <code>SourceBuffer</code> にメディアセグメントデータを非同期的に追加するプロセスを開始します。</span> バッファが追加されると満たされる {{jsxref("Promise")}} を返します。</p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox"><em>appendPromise</em> = <em>sourceBuffer</em>.appendBufferAsync(<em>source</em>);</pre> + +<h3 id="Parameters" name="Parameters">パラメーター</h3> + +<dl> + <dt><code>source</code></dt> + <dd><code>SourceBuffer</code> に追加するメディアセグメントデータを含む {{domxref("BufferSource")}}(つまり、{{domxref("ArrayBufferView")}} または {{jsxref("ArrayBuffer")}})。</dd> +</dl> + +<h3 id="Return_value" name="Return_value">戻り値</h3> + +<p>バッファが <code>SourceBuffer</code> に正常に追加されたときに満たされる {{jsxref("Promise")}}、または要求を開始できなかった場合は <code>null</code>。</p> + +<h2 id="Example" name="Example">例</h2> + +<p>この単純化された非同期関数の例 <code>fillSourceBuffer()</code> は、入力パラメーターとして {{domxref("BufferSource")}} の <code>buffer</code>、およびバッファからソースメディアを追加する <code>SourceBuffer</code> を受け取ります。</p> + +<pre class="brush: js">async function fillSourceBuffer(buffer, msBuffer) { + try { + while(true) { + await msBuffer.appendBufferAsync(buffer); + } + } catch(e) { + handleException(e); + } +} +</pre> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<p>現在、仕様の一部ではありません。 これは、<strong>Web Platform Incubator Community Group</strong>(WICG)の後援の下で実験されています。</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('Media Source Extensions')}}</td> + <td>{{Spec2('Media Source Extensions')}}</td> + <td>初期定義、このメソッドは含まれません。</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> + + +<p>{{Compat("api.SourceBuffer.appendBufferAsync")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li><a href="/en-US/docs/Web/API/Media_Source_Extensions_API">Media Source Extensions API</a></li> + <li>{{domxref("SourceBuffer.appendBuffer()")}}</li> + <li>{{domxref("MediaSource")}}</li> + <li>{{domxref("SourceBufferList")}}</li> +</ul> diff --git a/files/ja/web/api/sourcebuffer/appendstream/index.html b/files/ja/web/api/sourcebuffer/appendstream/index.html new file mode 100644 index 0000000000..33b4d270fd --- /dev/null +++ b/files/ja/web/api/sourcebuffer/appendstream/index.html @@ -0,0 +1,77 @@ +--- +title: SourceBuffer.appendStream() +slug: Web/API/SourceBuffer/appendStream +tags: + - API + - Audio + - Experimental + - MSE + - Media Source Extensions + - Method + - Reference + - SourceBuffer + - Video + - appendstream +translation_of: Web/API/SourceBuffer/appendStream +--- +<div>{{draft}}{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}</div> + +<p><span class="seoSummary">{{domxref("SourceBuffer")}} インターフェイスの <strong><code>appendStream()</code></strong> メソッドは、<code>ReadableStream</code> オブジェクトから <code>SourceBuffer</code> にメディアセグメントデータを追加します。</span></p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox"><em>sourceBuffer</em>.appendStream(<em>stream</em>, <em>maxSize</em>); +</pre> + +<h3 id="Parameters" name="Parameters">パラメーター</h3> + +<dl> + <dt>stream</dt> + <dd><code>SourceBuffer</code> に追加するメディアセグメントデータのソースである {{domxref("ReadableStream")}}。</dd> + <dt>maxSize</dt> + <dd>この操作で追加できる最大バイト数を示す unsigned long 値。</dd> +</dl> + +<h3 id="Return_value" name="Return_value">戻り値</h3> + +<p>{{jsxref('undefined')}}。</p> + +<h3 id="Exceptions" name="Exceptions">例外</h3> + +<p>なし。</p> + +<h2 id="Example" name="Example">例</h2> + +<p>未定</p> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('Media Source Extensions', '#widl-SourceBuffer-appendStream-void-ReadableStream-stream-unsigned-long-long-maxSize', 'appendStream()')}}</td> + <td>{{Spec2('Media Source Extensions')}}</td> + <td>初期定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> + + +<p>{{Compat("api.SourceBuffer.appendStream")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("MediaSource")}}</li> + <li>{{domxref("SourceBufferList")}}</li> +</ul> diff --git a/files/ja/web/api/sourcebuffer/appendwindowend/index.html b/files/ja/web/api/sourcebuffer/appendwindowend/index.html new file mode 100644 index 0000000000..9e9beb07de --- /dev/null +++ b/files/ja/web/api/sourcebuffer/appendwindowend/index.html @@ -0,0 +1,91 @@ +--- +title: SourceBuffer.appendWindowEnd +slug: Web/API/SourceBuffer/appendWindowEnd +tags: + - API + - Audio + - Experimental + - MSE + - Media Source Extensions + - Property + - Reference + - SourceBuffer + - Video + - appendWindowEnd +translation_of: Web/API/SourceBuffer/appendWindowEnd +--- +<div>{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}{{draft}}</div> + +<p><span class="seoSummary">{{domxref("SourceBuffer")}} インターフェイスの <strong><code>appendWindowEnd</code></strong> プロパティは、追加ウィンドウ(<a href="https://w3c.github.io/media-source/#append-window">append window</a>)の終わりのタイムスタンプを制御します。 タイムスタンプの範囲は、<code>SourceBuffer</code> に追加されるメディアデータをフィルターするために使用できます。 この範囲内のタイムスタンプを持つコード化されたメディアフレームは追加されますが、範囲外のものは除外されます。</span></p> + +<p><code>appendWindowEnd</code> のデフォルト値は正の無限大です。</p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox">var <em>myAppendWindowEnd</em> = <em>sourceBuffer</em>.appendWindowEnd; + +<em>sourceBuffer</em>.appendWindowEnd = 120.0; +</pre> + +<h3 id="Value" name="Value">値</h3> + +<p>追加ウィンドウの終了時間を秒単位で示す double 型。</p> + +<h3 id="Exceptions" name="Exceptions">例外</h3> + +<p>このプロパティに新しい値を設定すると、次の例外がスローされる場合があります。</p> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">例外</th> + <th scope="col">説明</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>InvalidAccessError</code></td> + <td>値を {{domxref("SourceBuffer.appendWindowStart")}} 以下、または NaN に設定しようとしました。</td> + </tr> + <tr> + <td><code>InvalidStateError</code></td> + <td>この {{domxref("SourceBuffer")}} オブジェクトが更新中(つまり、その {{domxref("SourceBuffer.updating")}} プロパティが現在 <code>true</code>)であるか、この <code>SourceBuffer</code> が {{domxref("MediaSource")}} から取り除かれています。</td> + </tr> + </tbody> +</table> + +<h2 id="Example" name="Example">例</h2> + +<p>未定</p> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('Media Source Extensions', '#idl-def-sourcebuffer-appendwindowend', 'appendWindowEnd')}}</td> + <td>{{Spec2('Media Source Extensions')}}</td> + <td>初期定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> + + +<p>{{Compat("api.SourceBuffer.appendWindowEnd")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("MediaSource")}}</li> + <li>{{domxref("SourceBufferList")}}</li> +</ul> diff --git a/files/ja/web/api/sourcebuffer/appendwindowstart/index.html b/files/ja/web/api/sourcebuffer/appendwindowstart/index.html new file mode 100644 index 0000000000..b5688f6581 --- /dev/null +++ b/files/ja/web/api/sourcebuffer/appendwindowstart/index.html @@ -0,0 +1,91 @@ +--- +title: SourceBuffer.appendWindowStart +slug: Web/API/SourceBuffer/appendWindowStart +tags: + - API + - Audio + - Experimental + - MSE + - Media Source Extensions + - Property + - Reference + - SourceBuffer + - Video + - appendWindowStart +translation_of: Web/API/SourceBuffer/appendWindowStart +--- +<div>{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}{{draft}}</div> + +<p><span class="seoSummary">{{domxref("SourceBuffer")}} インターフェイスの <strong><code>appendWindowStart</code></strong> プロパティは、追加ウィンドウ(<a href="https://w3c.github.io/media-source/#append-window">append window</a>)の始まりのタイムスタンプを制御します。 タイムスタンプの範囲は、<code>SourceBuffer</code> に追加されるメディアデータをフィルターするために使用できます。 この範囲内のタイムスタンプを持つコード化されたメディアフレームは追加されますが、範囲外のものは除外されます。</span></p> + +<p><code>appendWindowStart</code> のデフォルト値はプレゼンテーションの開始時間であり、これは再生可能なメディアの開始時間です。</p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox">var <em>myAppendWindowStart</em> = <em>sourceBuffer</em>.appendWindowStart; + +<em>sourceBuffer</em>.appendWindowStart = 2.0; +</pre> + +<h3 id="Value" name="Value">値</h3> + +<p>追加ウィンドウの開始時間を秒単位で示す double 型。</p> + +<h3 id="Exceptions" name="Exceptions">例外</h3> + +<p>このプロパティに新しい値を設定すると、次の例外がスローされる場合があります。</p> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">例外</th> + <th scope="col">説明</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>InvalidAccessError</code></td> + <td>値を 0 未満、または {{domxref("SourceBuffer.appendWindowEnd")}} 以上の値に設定しようとしました。</td> + </tr> + <tr> + <td><code>InvalidStateError</code></td> + <td>この {{domxref("SourceBuffer")}} オブジェクトが更新中(つまり、その {{domxref("SourceBuffer.updating")}} プロパティが現在 <code>true</code>)であるか、この <code>SourceBuffer</code> が {{domxref("MediaSource")}} から取り除かれています。</td> + </tr> + </tbody> +</table> + +<h2 id="Example" name="Example">例</h2> + +<p>未定</p> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('Media Source Extensions', '#idl-def-sourcebuffer-appendwindowstart', 'appendWindowStart')}}</td> + <td>{{Spec2('Media Source Extensions')}}</td> + <td>初期定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> + + +<p>{{Compat("api.SourceBuffer.appendWindowStart")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("MediaSource")}}</li> + <li>{{domxref("SourceBufferList")}}</li> +</ul> diff --git a/files/ja/web/api/sourcebuffer/audiotracks/index.html b/files/ja/web/api/sourcebuffer/audiotracks/index.html new file mode 100644 index 0000000000..62424838d5 --- /dev/null +++ b/files/ja/web/api/sourcebuffer/audiotracks/index.html @@ -0,0 +1,61 @@ +--- +title: SourceBuffer.audioTracks +slug: Web/API/SourceBuffer/audioTracks +tags: + - API + - Audio + - Experimental + - MSE + - Media Source Extensions + - Property + - Reference + - SourceBuffer + - audiotracks +translation_of: Web/API/SourceBuffer/audioTracks +--- +<div>{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}{{draft}}</div> + +<p><span class="seoSummary">{{domxref("SourceBuffer")}} インターフェイスの <strong><code>audioTracks</code></strong> 読み取り専用プロパティは、<code>SourceBuffer</code> 内に現在含まれている音声トラックのリストを返します。</span></p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox">var <em>myAudioTracks</em> = <em>sourceBuffer</em>.audioTracks; +</pre> + +<h3 id="Value" name="Value">値</h3> + +<p>{{domxref("AudioTrackList")}} オブジェクト。</p> + +<h2 id="例">例</h2> + +<p>未定</p> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('Media Source Extensions', '#idl-def-sourcebuffer-audiotracks', 'audioTracks')}}</td> + <td>{{Spec2('Media Source Extensions')}}</td> + <td>初期定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + + + +<p>{{Compat("api.SourceBuffer.audioTracks")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("MediaSource")}}</li> + <li>{{domxref("SourceBufferList")}}</li> +</ul> diff --git a/files/ja/web/api/sourcebuffer/buffered/index.html b/files/ja/web/api/sourcebuffer/buffered/index.html new file mode 100644 index 0000000000..5bf4eb007e --- /dev/null +++ b/files/ja/web/api/sourcebuffer/buffered/index.html @@ -0,0 +1,64 @@ +--- +title: SourceBuffer.buffered +slug: Web/API/SourceBuffer/buffered +tags: + - API + - Audio + - Experimental + - MSE + - Media Source Extensions + - Property + - Reference + - SourceBuffer + - Video + - buffered +translation_of: Web/API/SourceBuffer/buffered +--- +<div>{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}{{draft}}</div> + +<p><span class="seoSummary">{{domxref("SourceBuffer")}} インターフェイスの <strong><code>buffered</code></strong> 読み取り専用プロパティは、<code>SourceBuffer</code> に現在バッファされている時間範囲を正規化された {{domxref("TimeRanges")}} オブジェクトとして返します。</span></p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox">var <em>myBufferedRange</em> = <em>sourceBuffer</em>.buffered; +</pre> + +<h3 id="Value" name="Value">値</h3> + +<p>{{domxref("TimeRanges")}} オブジェクト。</p> + +<h2 id="Example" name="Example">例</h2> + +<p>未定</p> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('Media Source Extensions', '#idl-def-sourcebuffer-buffered', 'buffered')}}</td> + <td>{{Spec2('Media Source Extensions')}}</td> + <td>初期定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> + + +<p>{{Compat("api.SourceBuffer.buffered")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("MediaSource")}}</li> + <li>{{domxref("SourceBufferList")}}</li> +</ul> diff --git a/files/ja/web/api/sourcebuffer/changetype/index.html b/files/ja/web/api/sourcebuffer/changetype/index.html new file mode 100644 index 0000000000..361cc13f53 --- /dev/null +++ b/files/ja/web/api/sourcebuffer/changetype/index.html @@ -0,0 +1,83 @@ +--- +title: SourceBuffer.changeType() +slug: Web/API/SourceBuffer/changeType +tags: + - API + - Audio + - MSE + - Media + - Media Source + - Media Source Extensions + - Method + - SourceBuffer + - Video + - changeType +translation_of: Web/API/SourceBuffer/changeType +--- +<div>{{APIRef("Media Source Extensions")}}</div> + +<p><span class="seoSummary">{{domxref("SourceBuffer")}} インターフェイスの <strong><code>changeType() </code></strong>メソッドは、今後 {{domxref("SourceBuffer.appendBuffer", "appendBuffer()")}} を呼び出すときに新しいメディアデータが準拠することを期待する MIME タイプを設定します。</span> これにより、コーデックまたはコンテナタイプを途中で変更できます。</p> + +<p>これが役立つ1つのシナリオは、リソース制約の変化に応じて1つのコーデックから別のコーデックに移行することにより、帯域幅の可用性の変化にメディアソースを適応させることです。</p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox"><em>sourceBuffer</em>.changeType(<em>type</em>);</pre> + +<h3 id="Parameters" name="Parameters">パラメーター</h3> + +<dl> + <dt><code>type</code></dt> + <dd>将来のバッファが準拠する MIME タイプを指定する {{domxref("DOMString")}}。</dd> +</dl> + +<h3 id="Return_value" name="Return_value">戻り値</h3> + +<p>{{jsxref('undefined')}}。</p> + +<h3 id="Exceptions" name="Exceptions">例外</h3> + +<dl> + <dt><code>TypeError</code></dt> + <dd>指定された文字列は、有効な MIME タイプではなく、空です。</dd> + <dt><code>InvalidStateError</code></dt> + <dd>{{domxref("SourceBuffer")}} は、親メディアソースの {{domxref("MediaSource.sourceBuffers", "sourceBuffers")}} リストのメンバーではありません。 または、バッファの {{domxref("SourceBuffer.updating", "updating")}} プロパティは、以前にキューに入れられた {{domxref("SourceBuffer.appendBuffer", "appendBuffer()")}} または {{domxref("SourceBuffer.remove", "remove()")}} がまだ処理中であることを示しています。</dd> + <dt><code>NotSupportedError</code></dt> + <dd>指定された MIME タイプはサポートされていないか、{{domxref("MediaSource.sourceBuffers")}} リストにある {{domxref("SourceBuffer")}} オブジェクトのタイプではサポートされていません。</dd> +</dl> + +<h2 id="Usage_notes" name="Usage_notes">使用上の注意</h2> + +<p>親 {{domxref("MediaSource")}} が <code>"ended"</code> {{domxref("MediaSource.readyState", "readyState")}} にある場合に、<code>changeType()</code> を呼び出すと、メディアソースが <code>"open"</code> <code>readyState</code> に遷移し、親メディアソースで {{event("sourceopen")}} という名前の単純なイベントが発生します。</p> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('Media Source Extensions', '#dom-sourcebuffer-changetype', 'SourceBuffer.changeType')}}</td> + <td>{{Spec2('Media Source Extensions')}}</td> + <td>初期定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> + + +<p>{{Compat("api.SourceBuffer.changeType")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("MediaSource")}}</li> + <li>{{domxref("SourceBufferList")}}</li> +</ul> diff --git a/files/ja/web/api/sourcebuffer/index.html b/files/ja/web/api/sourcebuffer/index.html new file mode 100644 index 0000000000..ba01b213dc --- /dev/null +++ b/files/ja/web/api/sourcebuffer/index.html @@ -0,0 +1,158 @@ +--- +title: SourceBuffer +slug: Web/API/SourceBuffer +tags: + - API + - Audio + - Experimental + - Interface + - MSE + - Media Source Extensions + - Reference + - SourceBuffer + - Video +translation_of: Web/API/SourceBuffer +--- +<p>{{APIRef("Media Source Extensions")}}</p> + +<p><span class="seoSummary"><strong><code>SourceBuffer</code></strong> インターフェイスは、{{domxref("MediaSource")}} オブジェクトを介して {{domxref("HTMLMediaElement")}} に渡されて再生されるメディアのチャンク(大きな塊)を表します。 これは、1つまたは複数のメディアセグメントで構成できます。</span></p> + +<p>{{InheritanceDiagram}}</p> + +<h2 id="Properties" name="Properties">プロパティ</h2> + +<dl> + <dt>{{domxref("SourceBuffer.appendWindowEnd")}}</dt> + <dd>追加ウィンドウの終わりのタイムスタンプを制御します。</dd> + <dt>{{domxref("SourceBuffer.appendWindowStart")}}</dt> + <dd>追加ウィンドウ(<a href="https://w3c.github.io/media-source/#append-window">append window</a>)の始まりのタイムスタンプを制御します。 これは、<code>SourceBuffer</code> に追加されるメディアデータをフィルタリングするために使用できるタイムスタンプの範囲です。 この範囲内のタイムスタンプを持つコード化されたメディアフレームは追加されますが、範囲外のものは除外されます。</dd> + <dt>{{domxref("SourceBuffer.audioTracks")}} {{readonlyInline}}</dt> + <dd><code>SourceBuffer</code> 内に現在含まれている音声トラックのリスト。</dd> + <dt>{{domxref("SourceBuffer.buffered")}} {{readonlyInline}}</dt> + <dd><code>SourceBuffer</code> に現在バッファされている時間範囲を返します。</dd> + <dt>{{domxref("SourceBuffer.mode")}}</dt> + <dd><code>SourceBuffer</code> 内のメディアセグメントの順序を、任意の順序で追加できるか、または厳密な順序で保持する必要があるかを制御します。</dd> + <dt>{{domxref("SourceBuffer.textTracks")}} {{readonlyInline}}</dt> + <dd><code>SourceBuffer</code> 内に現在含まれているテキストトラックのリスト。</dd> + <dt>{{domxref("SourceBuffer.timestampOffset")}}</dt> + <dd>その後 <code>SourceBuffer</code> に追加されるメディアセグメント内のタイムスタンプに適用されるオフセットを制御します。</dd> + <dt>{{domxref("SourceBuffer.trackDefaults")}}</dt> + <dd><code>SourceBuffer</code> に追加されるメディアの初期化セグメント(<a href="https://w3c.github.io/media-source/#init-segment">initialization segment</a>)で、種類、ラベル、言語情報が利用できない場合に使用するデフォルト値を指定します。</dd> + <dt>{{domxref("SourceBuffer.updating")}} {{readonlyInline}}</dt> + <dd><code>SourceBuffer</code> が現在更新されているかどうか、つまり {{domxref("SourceBuffer.appendBuffer()")}}、{{domxref("SourceBuffer.appendStream()")}}、または {{domxref("SourceBuffer.remove()")}} の操作が現在進行中かどうかを示すブール値。</dd> + <dt>{{domxref("SourceBuffer.videoTracks")}} {{readonlyInline}}</dt> + <dd><code>SourceBuffer</code> 内に現在含まれている動画トラックのリスト。</dd> +</dl> + +<h3 id="Event_handlers" name="Event_handlers">イベントハンドラ</h3> + +<dl> + <dt>{{domxref("SourceBuffer.onabort")}}</dt> + <dd>{{domxref("SourceBuffer.appendBuffer()")}} または {{domxref("SourceBuffer.appendStream()")}} が {{domxref("SourceBuffer.abort()")}} の呼び出しによって終了するたびに発生します。 {{domxref("SourceBuffer.updating")}} は <code>true</code> から <code>false</code> に変更されます。</dd> + <dt>{{domxref("SourceBuffer.onerror")}}</dt> + <dd>{{domxref("SourceBuffer.appendBuffer()")}} 中または {{domxref("SourceBuffer.appendStream()")}} 中にエラーが発生するたびに発生します。 {{domxref("SourceBuffer.updating")}} は <code>true</code> から <code>false</code> に変更されます。</dd> + <dt>{{domxref("SourceBuffer.onupdate")}}</dt> + <dd>{{domxref("SourceBuffer.appendBuffer()")}} メソッドまたは {{domxref("SourceBuffer.remove()")}} が完了するたびに発生します。 {{domxref("SourceBuffer.updating")}} は <code>true</code> から <code>false</code> に変更されます。 このイベントは、<code>onupdateend</code> の前に発生します。</dd> + <dt>{{domxref("SourceBuffer.onupdateend")}}</dt> + <dd>{{domxref("SourceBuffer.appendBuffer()")}} メソッドまたは {{domxref("SourceBuffer.remove()")}} が終了するたびに発生します。 このイベントは、<code>onupdate</code> の後に発生します。</dd> + <dt>{{domxref("SourceBuffer.onupdatestart")}}</dt> + <dd>{{domxref("SourceBuffer.updating")}} の値が <code>false</code> から <code>true</code> に遷移するたびに発生します。</dd> +</dl> + +<h2 id="Methods" name="Methods">メソッド</h2> + +<p><em>親インターフェイスである {{domxref("EventTarget")}} からメソッドを継承します。</em></p> + +<dl> + <dt>{{domxref("SourceBuffer.abort()")}}</dt> + <dd>現在のセグメントを中止し、セグメントパーサーをリセットします。</dd> + <dt>{{domxref("SourceBuffer.appendBuffer()")}}</dt> + <dd>{{domxref("ArrayBuffer")}} または {{domxref("ArrayBufferView")}} オブジェクトからのメディアセグメントデータを <code>SourceBuffer</code> に追加します。</dd> + <dt>{{domxref("SourceBuffer.appendBufferAsync()")}} {{experimental_inline}}</dt> + <dd>指定されたバッファを <code>SourceBuffer</code> に非同期的に追加するプロセスを開始します。 バッファが追加されると満たされる {{jsxref("Promise")}} を返します。</dd> + <dt>{{domxref("SourceBuffer.appendStream()")}}</dt> + <dd><code>ReadableStream</code> オブジェクトからのメディアセグメントデータを <code>SourceBuffer</code> に追加します。</dd> + <dt>{{domxref("SourceBuffer.changeType()")}}</dt> + <dd>今後の {{domxref("SourceBuffer.appendBuffer", "appendBuffer()")}} の呼び出しで、新しいデータが準拠することを期待する {{Glossary("MIME type","MIME タイプ")}}を変更します。</dd> + <dt>{{domxref("SourceBuffer.remove()")}}</dt> + <dd><code>SourceBuffer</code> から特定の時間範囲内のメディアセグメントを削除します。</dd> + <dt>{{domxref("SourceBuffer.removeAsync()")}} {{experimental_inline}}</dt> + <dd>指定された範囲のメディアセグメントを <code>SourceBuffer</code> から非同期的に削除するプロセスを開始します。 一致するすべてのセグメントが削除されると満たされる {{jsxref("Promise")}} を返します。</dd> +</dl> + +<h2 id="Examples" name="Examples">例</h2> + +<p>次の簡単な例では、動画をチャンクごとに可能な限り高速でロードし、できるだけ早く再生します。 この例は Nick Desaulniers によって作成され、<a href="http://nickdesaulniers.github.io/netfix/demo/bufferAll.html">ここでライブで見る</a>ことができます(さらに調査するために<a href="https://github.com/nickdesaulniers/netfix/blob/gh-pages/demo/bufferAll.html">ソースをダウンロードする</a>こともできます)。</p> + +<pre class="brush: js">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); +} + +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); + }); +} + +function fetchAB (url, cb) { + console.log(url); + var xhr = new XMLHttpRequest; + xhr.open('get', url); + xhr.responseType = 'arraybuffer'; + xhr.onload = function () { + cb(xhr.response); + }; + xhr.send(); +}</pre> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('Media Source Extensions', '#sourcebuffer', 'SourceBuffer')}}</td> + <td>{{Spec2('Media Source Extensions')}}</td> + <td>初期定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> + + +<p>{{Compat("api.SourceBuffer")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("MediaSource")}}</li> + <li>{{domxref("SourceBufferList")}}</li> +</ul> diff --git a/files/ja/web/api/sourcebuffer/mode/index.html b/files/ja/web/api/sourcebuffer/mode/index.html new file mode 100644 index 0000000000..014b55c16f --- /dev/null +++ b/files/ja/web/api/sourcebuffer/mode/index.html @@ -0,0 +1,107 @@ +--- +title: SourceBuffer.mode +slug: Web/API/SourceBuffer/mode +tags: + - API + - Audio + - Experimental + - MSE + - Media Source Extensions + - Property + - Reference + - SourceBuffer + - Video + - mode +translation_of: Web/API/SourceBuffer/mode +--- +<div>{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}</div> + +<p><span class="seoSummary">{{domxref("SourceBuffer")}} インターフェイスの <strong><code>mode</code></strong> プロパティは、メディアセグメントを <code>SourceBuffer</code> に任意の順序で追加できるか、厳密な順序で追加できるかを制御します。</span></p> + +<p>使用可能な2つの値は次のとおりです。</p> + +<ul> + <li><code>segments</code>: メディアセグメントのタイムスタンプが、セグメントの再生順序を決定します。 セグメントは、任意の順序で <code>SourceBuffer</code> に追加できます。</li> + <li><code>sequence</code>: セグメントが <code>SourceBuffer</code> に追加される順序により、セグメントの再生順序を決定します。 セグメントのタイムスタンプは、この順序に従ってセグメントに対して自動的に生成されます。</li> +</ul> + +<p><code>mode</code> 値は、<code>MediaSource.addSourceBuffer()</code> を使用して <code>SourceBuffer</code> が作成されるときに最初に設定されます。 メディアセグメントにタイムスタンプが既に存在する場合、値は <code>segments</code> に設定されます。 そうでない場合、値は <code>sequence</code> に設定されます。</p> + +<p>初期値が <code>sequence</code> のときに <code>mode</code> プロパティ値を <code>segments</code> に設定しようとすると、例外がスローされます。 <code>sequence</code> モードでは、既存のセグメントの順序を維持する必要があります。 ただし、値を <code>segments</code> から <code>sequence</code> に変更することはできます。 これは、再生順序が固定され、これを反映するために新しいタイムスタンプが生成されることを意味します。</p> + +<p>このプロパティは、<code>SourceBuffer</code> が {{domxref("SourceBuffer.appendBuffer","appendBuffer()")}} または {{domxref("SourceBuffer.remove","remove()")}} の呼び出しを処理している間は変更できません。</p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox">var <em>myMode</em> = <em>sourceBuffer</em>.mode; + +<em>sourceBuffer</em>.mode = 'sequence'; +</pre> + +<h3 id="Value" name="Value">値</h3> + +<p>{{domxref("DOMString")}}。</p> + +<h3 id="Exceptions" name="Exceptions">例外</h3> + +<p>このプロパティに新しい値を設定すると、次の例外がスローされる場合があります。</p> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">例外</th> + <th scope="col">説明</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>InvalidAccessError</code></td> + <td>初期値が <code>sequence</code> の場合に、値を <code>segments</code> に設定しようとしました。</td> + </tr> + <tr> + <td><code>InvalidStateError</code></td> + <td>{{domxref("SourceBuffer")}} オブジェクトが更新中(つまり、その {{domxref("SourceBuffer.updating")}} プロパティが現在 <code>true</code>)、この <code>SourceBuffer</code> に追加された最後のメディアセグメントが不完全、またはこの <code>SourceBuffer</code> が {{domxref("MediaSource")}} から取り除かれています。</td> + </tr> + </tbody> +</table> + +<h2 id="Example" name="Example">例</h2> + +<p>このスニペットは、<code>sourceBuffer</code> のモードが、 現在 <code>'segments'</code> に設定されている場合、<code>'sequence'</code> に設定します。 したがって、再生順序は、メディアセグメントを追加した順に設定されます。</p> + +<pre class="brush: js">var curMode = sourceBuffer.mode; +if (curMode == 'segments') { + sourceBuffer.mode = 'sequence'; +}</pre> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('Media Source Extensions', '#idl-def-sourcebuffer-mode', 'mode')}}</td> + <td>{{Spec2('Media Source Extensions')}}</td> + <td>初期定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> + + +<p>{{Compat("api.SourceBuffer.mode")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("MediaSource")}}</li> + <li>{{domxref("SourceBufferList")}}</li> +</ul> diff --git a/files/ja/web/api/sourcebuffer/remove/index.html b/files/ja/web/api/sourcebuffer/remove/index.html new file mode 100644 index 0000000000..e6adf8bd46 --- /dev/null +++ b/files/ja/web/api/sourcebuffer/remove/index.html @@ -0,0 +1,94 @@ +--- +title: SourceBuffer.remove() +slug: Web/API/SourceBuffer/remove +tags: + - API + - Audio + - Experimental + - MSE + - Media Source Extensions + - Method + - Reference + - SourceBuffer + - Video + - remove +translation_of: Web/API/SourceBuffer/remove +--- +<div>{{draft}}{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}</div> + +<p><span class="seoSummary">{{domxref("SourceBuffer")}} インターフェイスの <strong><code>remove()</code></strong> メソッドは、特定の時間範囲内のメディアセグメントを <code>SourceBuffer</code> から削除します。 このメソッドは、{{domxref("SourceBuffer.updating")}} が <code>false</code> の場合にのみ呼び出すことができます。 <code>SourceBuffer.updating</code> が <code>false</code> に等しくない場合、{{domxref("SourceBuffer.abort()")}} を呼び出します。</span></p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox"><em>sourceBuffer</em>.remove(<em>start</em>, <em>end</em>); +</pre> + +<h3 id="Parameters" name="Parameters">パラメーター</h3> + +<dl> + <dt>start</dt> + <dd>時間範囲の始まりを秒単位で表す double 型。</dd> + <dt>end</dt> + <dd>時間範囲の終わりを秒単位で表す double 型。</dd> +</dl> + +<h3 id="Return_value" name="Return_value">戻り値</h3> + +<p>{{jsxref('undefined')}}。</p> + +<h3 id="Exceptions" name="Exceptions">例外</h3> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">例外</th> + <th scope="col">説明</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>InvalidAccessError</code></td> + <td>{{domxref("MediaSource.duration")}} プロパティが <code>NaN</code> に等しいか、<code>start</code> パラメーターが負であるか {{domxref("MediaSource.duration")}} より大きいか、<code>end</code> パラメーターが <code>start</code> 以下または <code>NaN</code> に等しい。</td> + </tr> + <tr> + <td><code>InvalidStateError</code></td> + <td>{{domxref("SourceBuffer.updating")}} プロパティが <code>true</code> に等しいか、この <code>SourceBuffer</code> が {{domxref("MediaSource")}} から取り除かれています。</td> + </tr> + </tbody> +</table> + +<h2 id="Example" name="Example">例</h2> + +<p>未定</p> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('Media Source Extensions', '#idl-def-sourcebuffer-remove(double,unrestricted_double)', 'remove()')}}</td> + <td>{{Spec2('Media Source Extensions')}}</td> + <td>初期定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> + + +<p>{{Compat("api.SourceBuffer.remove")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("MediaSource")}}</li> + <li>{{domxref("SourceBufferList")}}</li> +</ul> diff --git a/files/ja/web/api/sourcebuffer/removeasync/index.html b/files/ja/web/api/sourcebuffer/removeasync/index.html new file mode 100644 index 0000000000..01fe9a4d40 --- /dev/null +++ b/files/ja/web/api/sourcebuffer/removeasync/index.html @@ -0,0 +1,86 @@ +--- +title: SourceBuffer.removeAsync() +slug: Web/API/SourceBuffer/removeAsync +tags: + - API + - Audio + - MSE + - Media + - Media Source Extensions + - Method + - Non-standard + - Reference + - SourceBuffer + - Video + - removeAsync +translation_of: Web/API/SourceBuffer/removeAsync +--- +<div>{{APIRef("Media Source Extensions")}}{{non-standard_header}}{{SeeCompatTable}}</div> + +<p><span class="seoSummary">{{domxref("SourceBuffer")}} インターフェイスの <strong><code>removeAsync()</code></strong> メソッドは、特定の時間範囲内で見つかった <code>SourceBuffer</code> のメディアセグメントから非同期的に削除するプロセスを開始します。</span> 指定された時間範囲のバッファが削除されたときに満たされる {{jsxref("Promise")}} が返されます。</p> + +<p>このメソッドは、{{domxref("SourceBuffer.updating", "updating")}} が <code>false</code> の場合にのみ呼び出すことができます。 そうでない場合は、代わりに {{domxref("SourceBuffer.abort", "abort()")}} を呼び出します。</p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox"><em>removePromise</em> = <em>sourceBuffer</em>.removeAsync(<em>start</em>, <em>end</em>);</pre> + +<h3 id="Parameters" name="Parameters">パラメーター</h3> + +<dl> + <dt><code>start</code></dt> + <dd>時間範囲の始まりを秒単位で表す double 型。</dd> + <dt><code>end</code></dt> + <dd>時間範囲の終わりを秒単位で表す double 型。</dd> +</dl> + +<h3 id="Return_value" name="Return_value">戻り値</h3> + +<p>指定された時間範囲のバッファが <code>SourceBuffer</code> から削除されると、完了ハンドラが実行される {{jsxref("Promise")}}。</p> + +<h2 id="Example" name="Example">例</h2> + +<p>この例では、指定された <code>SourceBuffer</code> の内容を単純にクリアする非同期関数 <code>emptySourceBuffer()</code> を定義します。</p> + +<pre class="brush: js">async function emptySourceBuffer(msBuffer) { + await msBuffer.removeAsync(0, Infinity).catch(function(e) { + handleException(e); + } +} +</pre> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<p>現在、MSE 仕様の一部ではありません。</p> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('Media Source Extensions')}}</td> + <td>{{Spec2('Media Source Extensions')}}</td> + <td>初期定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> + + +<p>{{Compat("api.SourceBuffer.removeAsync")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li><a href="/en-US/docs/Web/API/Media_Source_Extensions_API">Media Source Extensions API</a></li> + <li>{{domxref("SourceBuffer.remove()")}}</li> + <li>{{domxref("MediaSource")}}</li> + <li>{{domxref("SourceBufferList")}}</li> +</ul> diff --git a/files/ja/web/api/sourcebuffer/texttracks/index.html b/files/ja/web/api/sourcebuffer/texttracks/index.html new file mode 100644 index 0000000000..c8c141d10c --- /dev/null +++ b/files/ja/web/api/sourcebuffer/texttracks/index.html @@ -0,0 +1,63 @@ +--- +title: SourceBuffer.textTracks +slug: Web/API/SourceBuffer/textTracks +tags: + - API + - Experimental + - MSE + - Media Source Extensions + - Property + - Reference + - SourceBuffer + - Video + - textTracks +translation_of: Web/API/SourceBuffer/textTracks +--- +<div>{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}{{draft}}</div> + +<p><span class="seoSummary">{{domxref("SourceBuffer")}} インターフェイスの <strong><code>textTracks</code></strong> 読み取り専用プロパティは、<code>SourceBuffer</code> 内に現在含まれているテキストトラックのリストを返します。</span></p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox">var <em>myTextTracks</em> = <em>sourceBuffer</em>.textTracks; +</pre> + +<h3 id="Value" name="Value">値</h3> + +<p>{{domxref("TextTrackList")}} オブジェクト。</p> + +<h2 id="Example" name="Example">例</h2> + +<p>未定</p> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('Media Source Extensions', '#idl-def-sourcebuffer-texttracks', 'textTracks')}}</td> + <td>{{Spec2('Media Source Extensions')}}</td> + <td>初期定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> + + +<p>{{Compat("api.SourceBuffer.textTracks")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("MediaSource")}}</li> + <li>{{domxref("SourceBufferList")}}</li> +</ul> diff --git a/files/ja/web/api/sourcebuffer/timestampoffset/index.html b/files/ja/web/api/sourcebuffer/timestampoffset/index.html new file mode 100644 index 0000000000..545bda0efb --- /dev/null +++ b/files/ja/web/api/sourcebuffer/timestampoffset/index.html @@ -0,0 +1,87 @@ +--- +title: SourceBuffer.timestampOffset +slug: Web/API/SourceBuffer/timestampOffset +tags: + - API + - Audio + - Experimental + - MSE + - Media Source Extensions + - Property + - Reference + - SourceBuffer + - Video + - timestampOffset +translation_of: Web/API/SourceBuffer/timestampOffset +--- +<div>{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}{{draft}}</div> + +<p><span class="seoSummary">{{domxref("SourceBuffer")}} インターフェイスの <strong><code>timestampOffset</code></strong> プロパティは、<code>SourceBuffer</code> に追加されるメディアセグメント内のタイムスタンプに適用されるオフセットを制御します。</span></p> + +<p><code>timestampOffset</code> の初期値は 0 です。</p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox">var <em>myOffset</em> = <em>sourceBuffer</em>.timestampOffset; + +<em>sourceBuffer</em>.timestampOffset = 2.5; +</pre> + +<h3 id="Value" name="Value">値</h3> + +<p>オフセット量が秒単位で表される double 型。</p> + +<h3 id="Exceptions" name="Exceptions">例外</h3> + +<p>このプロパティに新しい値を設定すると、次の例外がスローされる場合があります。</p> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">例外</th> + <th scope="col">説明</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>InvalidStateError</code></td> + <td>{{domxref("MediaSource.sourceBuffers")}} の {{domxref("SourceBuffer")}} オブジェクトの1つ以上が更新中(つまり、{{domxref("SourceBuffer.updating")}} プロパティが現在 <code>true</code>)、<code>SourceBuffer</code> 内のメディアセグメントが現在解析中、またはこの <code>SourceBuffer</code> が {{domxref("MediaSource")}} から取り除かれています。</td> + </tr> + </tbody> +</table> + +<h2 id="Example" name="Example">例</h2> + +<p>未定</p> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('Media Source Extensions', '#idl-def-sourcebuffer-timestampoffset', 'timestampOffset')}}</td> + <td>{{Spec2('Media Source Extensions')}}</td> + <td>初期定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> + + +<p>{{Compat("api.SourceBuffer.timestampOffset")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("MediaSource")}}</li> + <li>{{domxref("SourceBufferList")}}</li> +</ul> diff --git a/files/ja/web/api/sourcebuffer/trackdefaults/index.html b/files/ja/web/api/sourcebuffer/trackdefaults/index.html new file mode 100644 index 0000000000..120d361152 --- /dev/null +++ b/files/ja/web/api/sourcebuffer/trackdefaults/index.html @@ -0,0 +1,85 @@ +--- +title: SourceBuffer.trackDefaults +slug: Web/API/SourceBuffer/trackDefaults +tags: + - API + - Audio + - Experimental + - MSE + - Media Source Extensions + - Property + - Reference + - SourceBuffer + - Video + - trackDefaults +translation_of: Web/API/SourceBuffer/trackDefaults +--- +<div>{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}{{draft}}</div> + +<p><span class="seoSummary">{{domxref("SourceBuffer")}} インターフェイスの <strong><code>trackDefaults</code></strong> プロパティは、<code>SourceBuffer</code> に追加されるメディアの初期化セグメント(<a href="https://w3c.github.io/media-source/#init-segment">initialization segment</a>)で、種類、ラベル、言語情報が利用できない場合に使用するデフォルト値を指定します。</span></p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox">var <em>myTrackDefaults</em> = <em>sourceBuffer</em>.trackDefaults; + +<em>sourceBuffer</em>.trackDefaults = <em>myTrackDefaultList</em>; +</pre> + +<h3 id="Value" name="Value">値</h3> + +<p>{{domxref("TrackDefaultList")}} オブジェクト。</p> + +<h3 id="Exceptions" name="Exceptions">例外</h3> + +<p>このプロパティに新しい値を設定すると、次の例外がスローされる場合があります。</p> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">例外</th> + <th scope="col">説明</th> + </tr> + </thead> + <tbody> + <tr> + <td><code>InvalidStateError</code></td> + <td>{{domxref("MediaSource.sourceBuffers")}} の {{domxref("SourceBuffer")}} オブジェクトの1つ以上が更新中(つまり、{{domxref("SourceBuffer.updating")}} プロパティが現在 <code>true</code>)、またはこの <code>SourceBuffer</code> が {{domxref("MediaSource")}} から取り除かれています。</td> + </tr> + </tbody> +</table> + +<h2 id="Example" name="Example">例</h2> + +<p>未定</p> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('Media Source Extensions', '#idl-def-sourcebuffer-trackdefaults', 'trackDefaults')}}</td> + <td>{{Spec2('Media Source Extensions')}}</td> + <td>初期定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> + + +<p>{{Compat("api.SourceBuffer.trackDefaults")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("MediaSource")}}</li> + <li>{{domxref("SourceBufferList")}}</li> +</ul> diff --git a/files/ja/web/api/sourcebuffer/updating/index.html b/files/ja/web/api/sourcebuffer/updating/index.html new file mode 100644 index 0000000000..cb9c308786 --- /dev/null +++ b/files/ja/web/api/sourcebuffer/updating/index.html @@ -0,0 +1,64 @@ +--- +title: SourceBuffer.updating +slug: Web/API/SourceBuffer/updating +tags: + - API + - Audio + - Experimental + - MSE + - Media Source Extensions + - Property + - Reference + - SourceBuffer + - Updating + - Video +translation_of: Web/API/SourceBuffer/updating +--- +<div>{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}{{draft}}</div> + +<p>{{domxref("SourceBuffer")}} インターフェイスの <code>updating</code> 読み取り専用プロパティは、<code>SourceBuffer</code> が現在更新されているかどうか、つまり {{domxref("SourceBuffer.appendBuffer()")}}、{{domxref("SourceBuffer.appendStream()")}}、または {{domxref("SourceBuffer.remove()")}} の操作が現在進行中かどうかを示します。</p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox">var <em>isUpdating</em> = <em>sourceBuffer</em>.updating; +</pre> + +<h3 id="Value" name="Value">値</h3> + +<p>{{jsxref("Boolean")}}。</p> + +<h2 id="Example" name="Example">例</h2> + +<p>未定</p> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('Media Source Extensions', '#idl-def-sourcebuffer-updating', 'updating')}}</td> + <td>{{Spec2('Media Source Extensions')}}</td> + <td>初期定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> + + +<p>{{Compat("api.SourceBuffer.updating")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("MediaSource")}}</li> + <li>{{domxref("SourceBufferList")}}</li> +</ul> diff --git a/files/ja/web/api/sourcebuffer/videotracks/index.html b/files/ja/web/api/sourcebuffer/videotracks/index.html new file mode 100644 index 0000000000..8ca9205c99 --- /dev/null +++ b/files/ja/web/api/sourcebuffer/videotracks/index.html @@ -0,0 +1,63 @@ +--- +title: SourceBuffer.videoTracks +slug: Web/API/SourceBuffer/videoTracks +tags: + - API + - Experimental + - MSE + - Media Source Extensions + - Property + - Reference + - SourceBuffer + - Video + - videoTracks +translation_of: Web/API/SourceBuffer/videoTracks +--- +<div>{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}{{draft}}</div> + +<p><span class="seoSummary">{{domxref("SourceBuffer")}} インターフェイスの <strong><code>videoTracks</code></strong> 読み取り専用プロパティは、現在 <code>SourceBuffer</code> 内に含まれている動画トラックのリストを返します。</span></p> + +<h2 id="Syntax" name="Syntax">構文</h2> + +<pre class="syntaxbox">var <em>myVideoTracks</em> = <em>sourceBuffer</em>.videoTracks; +</pre> + +<h3 id="Value" name="Value">値</h3> + +<p>{{domxref("VideoTrackList")}} オブジェクト。</p> + +<h2 id="Example" name="Example">例</h2> + +<p>未定</p> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様</th> + <th scope="col">状態</th> + <th scope="col">コメント</th> + </tr> + <tr> + <td>{{SpecName('Media Source Extensions', '#idl-def-sourcebuffer-videotracks', 'videoTracks')}}</td> + <td>{{Spec2('Media Source Extensions')}}</td> + <td>初期定義</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div> + + +<p>{{Compat("api.SourceBuffer.videoTracks")}}</p> +</div> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{domxref("MediaSource")}}</li> + <li>{{domxref("SourceBufferList")}}</li> +</ul> |