AudioScheduledSourceNode

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 onended event handler.

You can't create an AudioScheduledSourceNode object directly. Instead, use the interface which extends it, such as AudioBufferSourceNode, OscillatorNode, and 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).

Properties

Inherits properties from its parent interface, AudioNode.

Methods

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.

Events

Listen to these events using addEventListener() or by assigning an event listener to the oneventname property of this interface:

ended
Fired 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.
Also available using the onended event handler property.

Specification

Specification Status Comment
Web Audio API
The definition of 'AudioScheduledSourceNode' in that specification.
Working Draft  

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
AudioScheduledSourceNodeChrome Full support 57
Full support 57
No support 14 — 57
Alternate Name
Alternate Name Uses the non-standard name: AudioSourceNode
Edge ? Firefox Full support 53
Full support 53
No support 25 — 53
Alternate Name
Alternate Name Uses the non-standard name: AudioSourceNode
IE No support NoOpera Full support 44
Full support 44
No support 15 — 44
Alternate Name
Alternate Name Uses the non-standard name: AudioSourceNode
Safari ? WebView Android Full support 57
Full support 57
No support ? — 57
Alternate Name
Alternate Name Uses the non-standard name: AudioSourceNode
Chrome Android Full support 57
Full support 57
No support 18 — 57
Alternate Name
Alternate Name Uses the non-standard name: AudioSourceNode
Edge Mobile ? Firefox Android Full support 53
Full support 53
No support 25 — 53
Alternate Name
Alternate Name Uses the non-standard name: AudioSourceNode
Opera Android Full support 44
Full support 44
No support 14 — 44
Alternate Name
Alternate Name Uses the non-standard name: AudioSourceNode
Safari iOS ? Samsung Internet Android Full support 7.0
ended eventChrome Full support 57
Full support 57
No support 14 — 57
Notes
Notes Before version 57, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Edge ? Firefox Full support 53IE No support NoOpera Full support 44
Full support 44
No support 15 — 44
Notes
Notes Before version 44, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Safari ? WebView Android Full support 57
Full support 57
No support ? — 57
Notes
Notes Before version 57, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Chrome Android Full support 57
Full support 57
No support 18 — 57
Notes
Notes Before version 57, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Edge Mobile ? Firefox Android Full support 25Opera Android Full support 44
Full support 44
No support 14 — 44
Notes
Notes Before version 44, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Safari iOS ? Samsung Internet Android Full support Yes
onendedChrome Full support 57
Full support 57
No support 14 — 57
Notes
Notes Before version 57, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Edge ? Firefox Full support 53IE No support NoOpera Full support 44
Full support 44
No support 15 — 44
Notes
Notes Before version 44, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Safari ? WebView Android Full support 57
Full support 57
No support ? — 57
Notes
Notes Before version 57, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Chrome Android Full support 57
Full support 57
No support 18 — 57
Notes
Notes Before version 57, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Edge Mobile ? Firefox Android Full support 25Opera Android Full support 44
Full support 44
No support 14 — 44
Notes
Notes Before version 44, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Safari iOS ? Samsung Internet Android Full support Yes
startChrome Full support 57
Full support 57
No support 14 — 57
Notes
Notes Before version 57, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Edge ? Firefox Full support 53IE No support NoOpera Full support 44
Full support 44
No support 15 — 44
Notes
Notes Before version 44, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Safari ? WebView Android Full support 57
Full support 57
No support ? — 57
Notes
Notes Before version 57, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Chrome Android Full support 57
Full support 57
No support 18 — 57
Notes
Notes Before version 57, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Edge Mobile ? Firefox Android Full support 25Opera Android Full support 44
Full support 44
No support 14 — 44
Notes
Notes Before version 44, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Safari iOS ? Samsung Internet Android Full support Yes
stopChrome Full support 57
Full support 57
No support 14 — 57
Notes
Notes Before version 57, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Edge ? Firefox Full support 53IE No support NoOpera Full support 44
Full support 44
No support 15 — 44
Notes
Notes Before version 44, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Safari ? WebView Android Full support 57
Full support 57
No support ? — 57
Notes
Notes Before version 57, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Chrome Android Full support 57
Full support 57
No support 18 — 57
Notes
Notes Before version 57, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Edge Mobile ? Firefox Android Full support 25Opera Android Full support 44
Full support 44
No support 14 — 44
Notes
Notes Before version 44, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.
Safari iOS ? Samsung Internet Android Full support Yes

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
See implementation notes.
See implementation notes.
Uses a non-standard name.
Uses a non-standard name.

See also

Document Tags and Contributors

Last updated by: chrisdavidmills,