BaseAudioContext: currentTime 属性
BaseAudioContext 接口的 currentTime 只读属性返回一个双精度浮点数,表示一个不断增加的硬件时间戳(以秒为单位),可用于安排音频播放、可视化时间轴等。它从 0 开始。
值
一个浮点数。
示例
js
const audioCtx = new AudioContext();
// Older webkit/blink browsers require a prefix
// …
console.log(audioCtx.currentTime);
时间精度降低
为了提供针对定时攻击和指纹识别的保护,audioCtx.currentTime 的精度可能会根据浏览器设置进行舍入。在 Firefox 中,privacy.reduceTimerPrecision 首选项默认启用,默认为 2ms。你也可以启用 privacy.resistFingerprinting,在这种情况下,精度将为 100ms 或 privacy.resistFingerprinting.reduceTimerPrecision.microseconds 的值,取两者中较大的一个。
例如,在降低时间精度的情况下,audioCtx.currentTime 的结果将始终是 0.002 的倍数,或者在启用 privacy.resistFingerprinting 的情况下是 0.1(或 privacy.resistFingerprinting.reduceTimerPrecision.microseconds)的倍数。
js
// 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
// …
规范
| 规范 |
|---|
| Web Audio API # dom-baseaudiocontext-currenttime |
浏览器兼容性
加载中…