BaseAudioContext: свойство currentTime

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Доступное только для чтения свойство currentTime интерфейса BaseAudioContext возвращает начинающуюся с 0 и постоянно увеличивающуюся аппаратную метку времени в секундах, которая может использоваться для планирования воспроизведения звука, визуализации и т.д.

Значение

Число с плавающей запятой.

Примеры

js
const audioCtx = new AudioContext();
// Для работы в старых webkit/blink-браузерах требуется префикс

// …

console.log(audioCtx.currentTime);

Снижение точности времени

Для обеспечения защиты от атак и слежения за пользователем, точность audioCtx.currentTime может округляться в зависимости от настроек браузера. В Firefox настройка privacy.reduceTimerPrecision включена по умолчанию и равна 20 мкс в Firefox 59 (2 мс в Firefox 60).

js
// снижение точности времени (2 мс) в Firefox 60
audioCtx.currentTime;
// 23.404
// 24.192
// 25.514
// …

// снижение точности времени с включённой настройкой `privacy.resistFingerprinting`
audioCtx.currentTime;
// 49.8
// 50.6
// 51.7
// …

В Firefox также есть настройка privacy.resistFingerprinting, которая изменяет точность до 100 мс или значения privacy.resistFingerprinting.reduceTimerPrecision.microseconds, в зависимости от того, что больше.

Спецификации

Specification
Web Audio API
# dom-baseaudiocontext-currenttime

Совместимость с браузерами

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
currentTime

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Смотрите также