web api instance property
MediaSource: duration property
Available in workers
The duration property of the MediaSource
interface gets and sets the duration of the current media being presented.
Value
A double. A value in seconds is expected.
Exceptions
The following exceptions may be thrown when setting a new value for this property.
InvalidAccessErrorDOMException- : Thrown if an attempt was made to set a duration value that was negative or
NaN.
- : Thrown if an attempt was made to set a duration value that was negative or
InvalidStateErrorDOMException- : Thrown if
readyStateis not equal toopen, or one or more of theSourceBufferobjects insourceBuffersare being updated (i.e., theirupdatingproperty istrue.)
- : Thrown if
Examples
The following snippet is based on an example written by Nick Desaulniers (view the full demo live, or download the source for further investigation). The function getMediaSource(), which is not defined here, returns a MediaSource.
const mediaSource = getMediaSource();
function sourceOpen() {
console.log(this.readyState); // open
const sourceBuffer = mediaSource.addSourceBuffer(mimeCodec);
fetchAB(assetURL, (buf) => {
sourceBuffer.addEventListener("updateend", () => {
mediaSource.endOfStream();
mediaSource.duration = 120;
video.play();
console.log(mediaSource.readyState); // ended
});
sourceBuffer.appendBuffer(buf);
});
}
// …
Specifications
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.