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.


AudioScheduledSourceNode.start([when [, offset [, duration]]]);


when Optional
The 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.
offset Optional
A floating-point number indicating the offset, in seconds, into the audio buffer where playback should begin. If 0 is passed then the playback will start from the beginning.
duration Optional
A floating-point number indicating the duration, in seconds, to be played. If no value is passed then the duration will be equal to the length of the audio buffer minus the offset value

Return value



The node has already been started. This error occurs even if the node is no longer running because of a prior call to stop().
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();

/* Schedule the start and stop times for the oscillator */

osc.start(context.currentTime + 2);
osc.stop(context.currentTime + 3);


Web Audio API
# dom-audioscheduledsourcenode-start

Browser compatibility

BCD tables only load in the browser

See also