MediaPositionState.position - Web APIs 编辑
The MediaPositionState
dictionary's position
property is used when calling the MediaSession
method setPositionState()
to provide the user agent with the current playback position, in seconds, of the currently-playing media. This information is then, in turn, 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 = { position: timeInSeconds }; let duration = positionState.duration;
Value
A floating-point value indicating the current playback position within the media currently being performed, in seconds. This value should always be zero or more.
Example
In this example, a player for a non-standard media file format, written in JavaScript, uses setInterval()
to establish a callback which fires once per second to refresh the position information by calling setPositionState()
. If the media is still playing when the interval is fired, setPositionState()
is called with an object that specifies the duration, playback rate, and position as reported by a myMedia
object that describes the track being played.
If the media is not playing, clearInterval()
is used to remove the interval handler.
let positionInterval = window.setInterval(() => { if (myMedia.isPlaying) { navigator.mediaSession.setPositionState({ duration: myMedia.trackDurationInSeconds, playbackRate: myMedia.playbackRate, position: myMedia.trackPlayPositionInSeconds }); } else { window.clearInterval(positionInterval); } }, 1000);
Specifications
Specification | Status | Comment |
---|---|---|
Media Session Standard The definition of 'MediaPositionState.position' in that specification. | Draft | Initial definition. |
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论