HTMLMediaElement:currentTime 属性

基线 广泛可用

此功能已得到充分确立,并且可在许多设备和浏览器版本中使用。它自以下日期起在各个浏览器中可用: 2015 年 7 月.

HTMLMediaElement 接口的currentTime 属性指定当前播放时间(以秒为单位)。

更改currentTime的值会将媒体跳转到新时间。

一个双精度浮点数,指示当前播放时间(以秒为单位)。

如果媒体尚未开始播放,则currentTime的值指示媒体中播放将在调用play()方法后开始的时间位置。

如果媒体可用,则将currentTime设置为新值会将媒体跳转到指定的时间。

对于没有已知持续时间的媒体(例如实时流媒体),浏览器可能无法获取已从媒体缓冲区过期的那部分媒体。此外,时间线不是从 0 秒开始的媒体无法跳转到其时间线最早时间之前的时间。

可以使用duration属性确定媒体的长度(以秒为单位)。

示例

js
const video = document.createElement("video");
console.log(video.currentTime);

使用说明

降低时间精度

为了防止计时攻击和指纹识别video.currentTime的精度可能会根据浏览器设置进行舍入。在 Firefox 中,privacy.reduceTimerPrecision首选项默认启用,并默认为 2 毫秒。您还可以启用privacy.resistFingerprinting,在这种情况下,精度将为 100 毫秒或privacy.resistFingerprinting.reduceTimerPrecision.microseconds的值,以较大者为准。

例如,在降低时间精度的情况下,video.currentTime的结果始终是 0.002 的倍数,或者在启用privacy.resistFingerprinting的情况下是 0.1(或privacy.resistFingerprinting.reduceTimerPrecision.microseconds)的倍数。

js
// reduced time precision (2ms) in Firefox 60
video.currentTime;
// Might be:
// 23.404
// 24.192
// 25.514
// …

// reduced time precision with `privacy.resistFingerprinting` enabled
video.currentTime;
// Might be:
// 49.8
// 50.6
// 51.7
// …

规范

规范
HTML 标准
# dom-media-currenttime-dev

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。

另请参阅