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