BaseAudioContext: currentTime 属性
基线 广泛可用
此功能非常成熟,可以在许多设备和浏览器版本中使用。它自 2021 年 4 月.
报告反馈
值
BaseAudioContext
接口的只读属性 currentTime
返回一个双精度浮点数,表示一个不断增加的硬件时间戳(以秒为单位),可用于安排音频播放、可视化时间线等。它从 0 开始。
示例
一个浮点数。
const audioCtx = new AudioContext();
// Older webkit/blink browsers require a prefix
// …
console.log(audioCtx.currentTime);
降低时间精度
js
为了防止计时攻击和 指纹识别,audioCtx.currentTime
的精度可能会根据浏览器设置进行舍入。在 Firefox 中,privacy.reduceTimerPrecision
首选项默认启用,默认值为 2 毫秒。您也可以启用 privacy.resistFingerprinting
,在这种情况下,精度将为 100 毫秒或 privacy.resistFingerprinting.reduceTimerPrecision.microseconds
的值,以较大者为准。
一个浮点数。
// reduced time precision (2ms) in Firefox 60
audioCtx.currentTime;
// Might be:
// 23.404
// 24.192
// 25.514
// …
// reduced time precision with `privacy.resistFingerprinting` enabled
audioCtx.currentTime;
// Might be:
// 49.8
// 50.6
// 51.7
// …
规范
例如,如果降低时间精度,audioCtx.currentTime 的结果将始终是 0.002 的倍数,或者如果启用了 privacy.resistFingerprinting ,则始终是 0.1(或 privacy.resistFingerprinting.reduceTimerPrecision.microseconds )的倍数。 |
---|
Web Audio API # 规范 |
浏览器兼容性
dom-baseaudiocontext-currenttime