This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.
The AudioScheduledSourceNode interface—part of the Web Audio API—is a parent interface for several types of audio source node interfaces which share the ability to be started and stopped, optionally at specified times. Specifically, this interface defines the start() and stop() methods, as well as the ended event.
Note: You can't create an AudioScheduledSourceNode object directly. Instead, use an interface which extends it, such as AudioBufferSourceNode, OscillatorNode or ConstantSourceNode.
Unless stated otherwise, nodes based upon AudioScheduledSourceNode output silence when not playing (that is, before start() is called and after stop() is called). Silence is represented, as always, by a stream of samples with the value zero (0).
Inherits properties from its parent interface, AudioNode.
Inherits methods from its parent interface, AudioNode, and adds the following methods:
start()Schedules the node to begin playing the constant sound at the specified time. If no time is specified, the node begins playing immediately.
stop()Schedules the node to stop playing at the specified time. If no time is specified, the node stops playing at once.
Listen to these events using addEventListener() or by assigning an event listener to the oneventname property of this interface:
endedFired when the source node has stopped playing, either because it's reached a predetermined stop time, the full duration of the audio has been performed, or because the entire buffer has been played.
| Specification |
|---|
| Web Audio API> # AudioScheduledSourceNode> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
AudioScheduledSourceNode |
5714–57TheAudioScheduledSourceNode interface itself is not present, but some of its members are available on the AudioBufferSourceNode, ConstantSourceNode and OscillatorNode interfaces. |
7912–79TheAudioScheduledSourceNode interface itself is not present, but some of its members are available on the AudioBufferSourceNode, ConstantSourceNode and OscillatorNode interfaces. |
5325–53TheAudioScheduledSourceNode interface itself is not present, but some of its members are available on the AudioBufferSourceNode, ConstantSourceNode and OscillatorNode interfaces. |
4415–44TheAudioScheduledSourceNode interface itself is not present, but some of its members are available on the AudioBufferSourceNode, ConstantSourceNode and OscillatorNode interfaces. |
146–14TheAudioScheduledSourceNode interface itself is not present, but some of its members are available on the AudioBufferSourceNode, ConstantSourceNode and OscillatorNode interfaces. |
5718–57TheAudioScheduledSourceNode interface itself is not present, but some of its members are available on the AudioBufferSourceNode, ConstantSourceNode and OscillatorNode interfaces. |
5325–53TheAudioScheduledSourceNode interface itself is not present, but some of its members are available on the AudioBufferSourceNode, ConstantSourceNode and OscillatorNode interfaces. |
4314–43TheAudioScheduledSourceNode interface itself is not present, but some of its members are available on the AudioBufferSourceNode, ConstantSourceNode and OscillatorNode interfaces. |
146–14TheAudioScheduledSourceNode interface itself is not present, but some of its members are available on the AudioBufferSourceNode, ConstantSourceNode and OscillatorNode interfaces. |
7.01.0–7.0TheAudioScheduledSourceNode interface itself is not present, but some of its members are available on the AudioBufferSourceNode, ConstantSourceNode and OscillatorNode interfaces. |
574.4–57TheAudioScheduledSourceNode interface itself is not present, but some of its members are available on the AudioBufferSourceNode, ConstantSourceNode and OscillatorNode interfaces. |
146–14TheAudioScheduledSourceNode interface itself is not present, but some of its members are available on the AudioBufferSourceNode, ConstantSourceNode and OscillatorNode interfaces. |
ended_event |
30 | 12 | 25 | 17 | 7 | 30 | 25 | 18 | 7 | 2.0 | 4.4 | 7 |
start |
24 | 12 | 25 | 15 | 7 | 25 | 25 | 14 | 7 | 1.5 | 4.4 | 7 |
stop |
24 | 12 | 25 | 15 | 7 | 25 | 25 | 14 | 7 | 1.5 | 4.4 | 7 |
© 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