This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.
The start() method on AudioScheduledSourceNode schedules a sound to begin playback at the specified time. If no time is specified, then the sound begins playing immediately.
start() start(when)
when OptionalThe time, in seconds, at which the sound should begin to play. This value is specified in the same time coordinate system as the AudioContext is using for its currentTime attribute. A value of 0 (or omitting the when parameter entirely) causes the sound to start playback immediately.
None (undefined).
InvalidStateNode DOMException
Thrown if the node has already been started. This error occurs even if the node is no longer running because of a prior call to stop().
RangeErrorThrown if the value specified for when is negative.
This example demonstrates how to create an OscillatorNode which is scheduled to start playing in 2 seconds and stop playing 1 second after that. The times are calculated by adding the desired number of seconds to the context's current time stamp returned by AudioContext.currentTime.
context = new AudioContext(); osc = context.createOscillator(); osc.connect(context.destination); /* Schedule the start and stop times for the oscillator */ osc.start(context.currentTime + 2); osc.stop(context.currentTime + 3);
| Specification |
|---|
| Web Audio API> # dom-audioscheduledsourcenode-start> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
start |
24 | 12 | 25 | 15 | 7 | 25 | 25 | 14 | 7 | 1.5 | 4.4 | 7 |
stop()AudioScheduledSourceNodeAudioBufferSourceNodeConstantSourceNodeOscillatorNode
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/AudioScheduledSourceNode/start