The onended event handler for the AudioScheduledSourceNode interface specifies an EventHandler to be executed when the ended event occurs on the node. This event is sent to the node when the concrete interface (such as AudioBufferSourceNode, OscillatorNode, or ConstantSourceNode) determines that it has stopped playing.

The ended event is only sent to a node configured to loop automatically when the node is stopped using its stop() method. This is the case, for example, when using an AudioBufferSourceNode with its loop property set to true.


AudioScheduledSourceNode.onended = EventHandler;


A function which is called by the browser when the ended event occurs on the AudioScheduledSourceNode. The function receives as input a single parameter, which is an object of type Event describing the event that occurred.


In this simple example, an event listener for the ended event is set up to enable a "Start" button in the user interface when the node stops playing.

node.onended = function(event) {
  document.getElementById("startButton").disabled = false;


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

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support


14 — 561

?53 No15 ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support


14 — 561


18 — 561

?2515 ? Yes

1. Before version 57, this event was implemented on AudioBufferSourceNode, OscillatorNode, and ConstantSourceNode, which are now children of this class.

See also

Document Tags and Contributors

Contributors to this page: fscholz, Sheppy, jpmedley
Last updated by: fscholz,