--- 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 --- <div>{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}</div> <p><span class="seoSummary">{{domxref("MediaSource")}} インターフェイス の <strong><code>sourceBuffers</code></strong> 読み取り専用プロパティは、この <code>MediaSource</code> に関連付けられた {{domxref("SourceBuffer")}} オブジェクトのリストを含む {{domxref("SourceBufferList")}} オブジェクトを返します。</span></p> <h2 id="Syntax" name="Syntax">構文</h2> <pre class="syntaxbox">var <em>mySourceBuffers</em> = <em>mediaSource</em>.sourceBuffers;</pre> <h3 id="Value" name="Value">値</h3> <p>{{domxref("SourceBufferList")}}。</p> <h2 id="Example" name="Example">例</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 language-js"><code class="language-js"><span class="keyword token">function</span> sourceOpen <span class="punctuation token">(</span>_<span class="punctuation token">)</span> <span class="punctuation token">{</span> <span class="comment token"> //console.log(this.readyState); // open </span> <span class="keyword token">var</span> mediaSource <span class="operator token">=</span> <span class="keyword token">this</span><span class="punctuation token">;</span> <span class="keyword token">var</span> sourceBuffer <span class="operator token">=</span> mediaSource<span class="punctuation token">.</span><span class="function token">addSourceBuffer<span class="punctuation token">(</span></span>mimeCodec<span class="punctuation token">)</span><span class="punctuation token">;</span> <span class="function token">fetchAB<span class="punctuation token">(</span></span>assetURL<span class="punctuation token">,</span> <span class="keyword token">function</span> <span class="punctuation token">(</span>buf<span class="punctuation token">)</span> <span class="punctuation token">{</span> sourceBuffer<span class="punctuation token">.</span><span class="function token">addEventListener<span class="punctuation token">(</span></span><span class="string token">'updateend'</span><span class="punctuation token">,</span> <span class="keyword token">function</span> <span class="punctuation token">(</span>_<span class="punctuation token">)</span> <span class="punctuation token">{</span> mediaSource<span class="punctuation token">.</span><span class="function token">endOfStream<span class="punctuation token">(</span></span><span class="punctuation token">)</span><span class="punctuation token">; console.log(mediaSource.sourceBuffers); // 上で追加されたソースバッファが含まれます</span> video<span class="punctuation token">.</span><span class="function token">play<span class="punctuation token">(</span></span><span class="punctuation token">)</span><span class="punctuation token">;</span> <span class="comment token"> //console.log(mediaSource.readyState); // ended </span> <span class="punctuation token">}</span><span class="punctuation token">)</span><span class="punctuation token">;</span> sourceBuffer<span class="punctuation token">.</span><span class="function token">appendBuffer<span class="punctuation token">(</span></span>buf<span class="punctuation token">)</span><span class="punctuation token">;</span> <span class="punctuation token">}</span><span class="punctuation token">)</span><span class="punctuation token">;</span> <span class="punctuation token">}</span><span class="punctuation token">; ...</span></code></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-mediasource-sourcebuffers', 'sourceBuffers')}}</td> <td>{{Spec2('Media Source Extensions')}}</td> <td>初期定義</td> </tr> </tbody> </table> <h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> <div> <p>{{Compat("api.MediaSource.sourceBuffers")}}</p> </div> <h2 id="See_also" name="See_also">関連情報</h2> <ul> <li>{{domxref("SourceBuffer")}}</li> <li>{{domxref("SourceBufferList")}}</li> </ul>