BaseAudioContext: thuộc tính 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.

Thuộc tính chỉ đọc currentTime của giao diện BaseAudioContext trả về một số double biểu diễn dấu thời gian phần cứng tính bằng giây, luôn tăng dần, có thể được dùng để lập lịch phát âm thanh, trực quan hóa dòng thời gian, v.v. Giá trị bắt đầu từ 0.

Giá trị

Một số dấu phẩy động.

Ví dụ

js
const audioCtx = new AudioContext();
// Các trình duyệt webkit/blink cũ yêu cầu tiền tố

// …

console.log(audioCtx.currentTime);

Giảm độ chính xác thời gian

Để bảo vệ khỏi các cuộc tấn công định thời và fingerprinting, độ chính xác của audioCtx.currentTime có thể bị làm tròn tùy theo cài đặt trình duyệt. Trong Firefox, tùy chọn privacy.reduceTimerPrecision được bật mặc định và mặc định là 2ms. Bạn cũng có thể bật privacy.resistFingerprinting; khi đó độ chính xác sẽ là 100ms hoặc giá trị của privacy.resistFingerprinting.reduceTimerPrecision.microseconds, tùy giá trị nào lớn hơn.

Ví dụ, khi giảm độ chính xác thời gian, kết quả của audioCtx.currentTime sẽ luôn là bội số của 0,002, hoặc là bội số của 0,1 (hoặc privacy.resistFingerprinting.reduceTimerPrecision.microseconds) khi privacy.resistFingerprinting được bật.

js
// độ chính xác thời gian bị giảm (2ms) trong Firefox 60
audioCtx.currentTime;
// Có thể là:
// 23.404
// 24.192
// 25.514
// …

// độ chính xác thời gian bị giảm khi `privacy.resistFingerprinting` được bật
audioCtx.currentTime;
// Có thể là:
// 49.8
// 50.6
// 51.7
// …

Thông số kỹ thuật

Specification
Web Audio API
# dom-baseaudiocontext-currenttime

Khả năng tương thích với trình duyệt

Xem thêm