The read-only currentTime
property of the AudioWorkletGlobalScope
interface returns a double that represents the ever-increasing context time of the audio block being processed. It is equal to the currentTime
property of the BaseAudioContext
the worklet belongs to.
AudioWorkletGlobalScope: currentTime property
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.
Value
A floating-point number representing the time.
Examples
The AudioWorkletProcessor
has access to the specific AudioWorkletGlobalScope
properties:
js
// AudioWorkletProcessor defined in : test-processor.js class TestProcessor extends AudioWorkletProcessor { constructor() { super(); // Logs the current sample-frame and time at the moment of instantiation. // They are accessible from the AudioWorkletGlobalScope. console.log(currentFrame); console.log(currentTime); } // The process method is required - output silence, // which the outputs are already filled with. process(inputs, outputs, parameters) { return true; } } // Logs the sample rate, that is not going to change ever, // because it's a read-only property of a BaseAudioContext // and is set only during its instantiation. console.log(sampleRate); // You can declare any variables and use them in your processors // for example it may be an ArrayBuffer with a wavetable. const usefulVariable = 42; console.log(usefulVariable); registerProcessor("test-processor", TestProcessor);
The main script loads the processor, creates an instance of AudioWorkletNode
, passes the name of the processor to it, and connects the node to an audio graph. We should see the output of console.log()
calls in the console:
js
const audioContext = new AudioContext(); await audioContext.audioWorklet.addModule("test-processor.js"); const testNode = new AudioWorkletNode(audioContext, "test-processor"); testNode.connect(audioContext.destination);
Specifications
Specification |
---|
Web Audio API # dom-audioworkletglobalscope-currenttime |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | ||
currentTime |
66 | 79 | 76 | 53 | 14.1 | 66 | 79 | 47 | 14.5 | 9.0 | 66 |
See also
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/AudioWorkletGlobalScope/currentTime