Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 925781 of MediaSource

  • Revision slug: Web/API/MediaSource
  • Revision title: MediaSource
  • Revision id: 925781
  • Created:
  • Creator: chrisdavidmills
  • Is current revision? No
  • Comment

Revision Content

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

The MediaSource interface represents a source of media data for an {{domxref("HTMLMediaElement")}} object. A MediaSource object can be attached to a {{domxref("HTMLMediaElement")}} to be played in the user agent.

Constructor

{{domxref("MediaSource.MediaSource", "MediaSource()")}} {{readonlyInline}}
Constructs and returns a new MediaSource object with no associated source buffers.

Properties

Inherits properties from its parent interface, {{domxref("EventTarget")}}.

{{domxref("MediaSource.sourceBuffers")}} {{readonlyInline}}
Returns a {{domxref("SourceBufferList")}} object containing the list of {{domxref("SourceBuffer")}} objects associated with this MediaSource.
{{domxref("MediaSource.activeSourceBuffers")}} {{readonlyInline}}
Returns a {{domxref("SourceBufferList")}} object containing a subset of the {{domxref("SourceBuffer")}} objects contained within {{domxref("SourceBuffers")}} — the list of objects providing the selected video track,  enabled audio tracks, and shown/hidden text tracks.
{{domxref("MediaSource.readyState")}} {{readonlyInline}}
Returns an enum representing the state of the current MediaSource, whether it is not currently attached to a media element (closed), attached and ready to receive {{domxref("SourceBuffer")}} objects (open), or attached but the stream has been ended via {{domxref("MediaSource.endOfStream()")}} (ended.)
{{domxref("MediaSource.duration")}}
Gets and sets the duration of the current media being presented.

Methods

Inherits properties from its parent interface, {{domxref("EventTarget")}}.

{{domxref("MediaSource.addSourceBuffer()")}}
Creates a new {{domxref("SourceBuffer")}} of the given MIME type and adds it to the MediaSource's {{domxref("SourceBuffers")}} list.
{{domxref("MediaSource.removeSourceBuffer()")}}
Removes the given {{domxref("SourceBuffer")}} from the {{domxref("SourceBuffers")}} list associated with this MediaSource object.
{{domxref("MediaSource.endOfStream()")}}
Signals the end of the stream.

Static methods

{{domxref("MediaSource.isTypeSupported()")}}
Returns a {{domxref("Boolean")}} value indicating if the given MIME type is supported by the current user agent — this is, if it can successfully create {{domxref("SourceBuffer")}} objects for that MIME type.

Specifications

Specification Status Comment
{{SpecName('Media Source Extensions', '#mediasource', 'MediaSource')}} {{Spec2('Media Source Extensions')}} Initial definition.

Browser compatibility

{{CompatibilityTable}}
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 23 {{CompatGeckoDesktop("25.0")}} [1] 11 [2] 15 8
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support {{CompatNo}} 30 {{CompatGeckoMobile("25.0")}} [1] Windows 8.1 {{CompatNo}} {{CompatNo}}

[1] Available after switching the about:config preference media.mediasource.enabled to true.

[2] Internet Explorer supports MediaSource only on Windows 8

See also

  • {{domxref("SourceBuffer")}}
  • {{domxref("SourceBufferList")}}

Revision Source

<p>{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}</p>

<p>The <strong><code>MediaSource</code></strong> interface represents a source of media data for an {{domxref("HTMLMediaElement")}} object. A <code>MediaSource</code> object can be attached to a {{domxref("HTMLMediaElement")}} to be played in the user agent.</p>

<h2 id="Constructors">Constructor</h2>

<dl>
 <dt>{{domxref("MediaSource.MediaSource", "MediaSource()")}} {{readonlyInline}}</dt>
 <dd>Constructs and returns a new <code>MediaSource</code> object with no associated source buffers.</dd>
</dl>

<h2 id="Properties">Properties</h2>

<p><em>Inherits properties from its parent interface, {{domxref("EventTarget")}}.</em></p>

<dl>
 <dt>{{domxref("MediaSource.sourceBuffers")}} {{readonlyInline}}</dt>
 <dd>Returns a {{domxref("SourceBufferList")}} object containing the list of {{domxref("SourceBuffer")}} objects associated with this <code>MediaSource</code>.</dd>
 <dt>{{domxref("MediaSource.activeSourceBuffers")}} {{readonlyInline}}</dt>
 <dd>Returns a {{domxref("SourceBufferList")}} object containing a subset of the&nbsp;{{domxref("SourceBuffer")}} objects contained within {{domxref("SourceBuffers")}} — the list of objects providing the selected video track,&nbsp; enabled audio tracks, and shown/hidden text tracks.</dd>
 <dt>{{domxref("MediaSource.readyState")}} {{readonlyInline}}</dt>
 <dd>Returns an enum representing the state of the current <code>MediaSource</code>, whether it is not currently attached to a media element (<code>closed</code>), attached and ready to receive {{domxref("SourceBuffer")}} objects (<code>open</code>), or attached but the stream has been ended via {{domxref("MediaSource.endOfStream()")}} (<code>ended</code>.)</dd>
 <dt>{{domxref("MediaSource.duration")}}</dt>
 <dd>Gets and sets the duration of the current media being presented.</dd>
</dl>

<dl>
</dl>

<dl>
</dl>

<h2 id="Methods">Methods</h2>

<p><em>Inherits properties from its parent interface, {{domxref("EventTarget")}}.</em></p>

<dl>
 <dt>{{domxref("MediaSource.addSourceBuffer()")}}</dt>
 <dd>Creates a new {{domxref("SourceBuffer")}} of the given MIME type and adds it to the <code>MediaSource</code>'s {{domxref("SourceBuffers")}} list.</dd>
 <dt>{{domxref("MediaSource.removeSourceBuffer()")}}</dt>
 <dd>Removes the given {{domxref("SourceBuffer")}} from the {{domxref("SourceBuffers")}} list associated with this <code>MediaSource</code> object.</dd>
 <dt>{{domxref("MediaSource.endOfStream()")}}</dt>
 <dd>Signals the end of the stream.</dd>
 <dt>
 <h2 id="Static_methods">Static methods</h2>
 </dt>
 <dt>{{domxref("MediaSource.isTypeSupported()")}}</dt>
 <dd>Returns a {{domxref("Boolean")}} value indicating if the given MIME type is supported by the current user agent — this is, if it can successfully create {{domxref("SourceBuffer")}} objects for that MIME type.</dd>
</dl>

<h2 id="Specifications">Specifications</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Status</th>
   <th scope="col">Comment</th>
  </tr>
  <tr>
   <td>{{SpecName('Media Source Extensions', '#mediasource', 'MediaSource')}}</td>
   <td>{{Spec2('Media Source Extensions')}}</td>
   <td>Initial definition.</td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatibility">Browser compatibility</h2>

<div>{{CompatibilityTable}}</div>

<div id="compat-desktop">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Chrome</th>
   <th>Firefox (Gecko)</th>
   <th>Internet Explorer</th>
   <th>Opera</th>
   <th>Safari (WebKit)</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>23</td>
   <td>{{CompatGeckoDesktop("25.0")}} [1]</td>
   <td>11 [2]</td>
   <td>15</td>
   <td>8</td>
  </tr>
 </tbody>
</table>
</div>

<div id="compat-mobile">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Android</th>
   <th>Chrome for Android</th>
   <th>Firefox Mobile (Gecko)</th>
   <th>IE Phone</th>
   <th>Opera Mobile</th>
   <th>Safari Mobile</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>{{CompatNo}}</td>
   <td>30</td>
   <td>{{CompatGeckoMobile("25.0")}} [1]</td>
   <td>Windows 8.1</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
  </tr>
 </tbody>
</table>
</div>

<p>[1] Available after switching the <code>about:config</code> preference <code>media.mediasource.enabled</code> to <code>true</code>.</p>

<p>[2] Internet Explorer supports MediaSource only on Windows 8</p>

<h2 id="See_also">See also</h2>

<ul>
 <li>{{domxref("SourceBuffer")}}</li>
 <li>{{domxref("SourceBufferList")}}</li>
</ul>
Revert to this revision