The srcObject property of the HTMLMediaElement interface sets or returns the object which serves as the source of the media associated with the HTMLMediaElement. The object can be a MediaStream, a MediaSource, a Blob, or a File (which inherits from Blob).
Note: As of November 2017, browsers only support MediaStream. For MediaSource, Blob and File, you have to create a URL with URL.createObjectURL() and assign it to HTMLMediaElement.src. See below for an example.
var sourceObject = HTMLMediaElement.srcObject; HTMLMediaElement.srcObject = sourceObject;
A MediaStream, MediaSource, Blob, or File object (though see the compatibility table for what is actually supported).
Older versions of the Media Source specification required using createObjectURL() to create an object URL then setting src to that URL. Now you can just set srcObject to the MediaStream directly.
In this example, a media source is assigned to a newly-created <video> element.
const mediaSource = new MediaSource();
const video = document.createElement('video');
video.srcObject = mediaSource; This version of the example above supports older browser versions that require you to create an object URL and assign it to src if srcObject isn't supported.
const mediaSource = new MediaSource();
const video = document.createElement('video');
try {
video.srcObject = mediaSource;
} catch (error) {
video.src = URL.createObjectURL(mediaSource);
}
| Specification | Status | Comment |
|---|---|---|
| HTML Living Standard The definition of 'srcObject' in that specification. | Living Standard | Initial definition. |
| Desktop | ||||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
| Basic support | 52 | Yes | Yes
|
? | 39 | ? |
| Mobile | |||||||
|---|---|---|---|---|---|---|---|
| Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
| Basic support | 52 | 52 | Yes | Yes
|
39 | ? | ? |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/srcObject