W3cubDocs

/Web APIs

MediaSource: MediaSource() constructor

The MediaSource() constructor of the MediaSource interface constructs and returns a new MediaSource object with no associated source buffers.

Syntax

js

new MediaSource()

Parameters

None.

Examples

The following snippet is taken from a simple example written by Nick Desaulniers (view the full demo live, or download the source for further investigation).

js

const video = document.querySelector("video");

const assetURL = "frag_bunny.mp4";
// Need to be specific for Blink regarding codecs
// ./mp4info frag_bunny.mp4 | grep Codec
const mimeCodec = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"';

if ("MediaSource" in window && MediaSource.isTypeSupported(mimeCodec)) {
  const mediaSource = new MediaSource();
  //console.log(mediaSource.readyState); // closed
  video.src = URL.createObjectURL(mediaSource);
  mediaSource.addEventListener("sourceopen", sourceOpen);
} else {
  console.error("Unsupported MIME type or codec: ", mimeCodec);
}

// …

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
MediaSource 3123–31 12 42
11Only works on Windows 8+.
15 8 4.4.3 33 41 14
13Exposed in Mobile Safari on iPad but not on iPhone.
2.0

See also

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MediaSource/MediaSource