The MediaPositionState
dictionary's duration
property is used when calling the MediaSession
method setPositionState()
to provide the user agent with the overall total duration in seconds of the media currently being performed. This information can then, in turn, be used by the user agent to provide a user interface which displays media playback information to the viewer.
For example, a browser might use this information along with the position
property and the navigator.mediaSession.playbackState
, as well as the session's metadata
to provide an integrated common user interface showing the currently playing media as well as standard pause, play, forward, reverse, and other controls.
Syntax
let positionState = { duration: durationInSeconds }; let durationInSeconds = positionState.duration;
Value
A floating-point value indicating the overall duration, in seconds, of the media being performed. This value should always be positive. To indicate media of unknown or indeterminate length, such as an ongoing live stream, specify a value of positive infinity (Infinity
).
Example
In this example, an app performing a live stream provides information to the browser by preparing a MediaPositionState
object and submitting it by calling navigator.mediaSession.setPositionState()
.
let positionState = { duration: Infinity; playbackRate: 1.0; position: 0.0; }; navigator.mediaSession.setPositionState(positionState);
Specifications
Specification | Status | Comment |
---|---|---|
Media Session Standard The definition of 'MediaPositionState.duration' in that specification. |
Draft | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
No compatibility data found. Please contribute data for "api.MediaPositionState.duration" (depth: 1) to the MDN compatibility data repository.