/Web APIs

AudioScheduledSourceNode: ended event

The ended event of the AudioScheduledSourceNode interface is fired when the source node has stopped playing.

This event occurs when a AudioScheduledSourceNode 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.

This event is not cancelable and does not bubble.


Use the event name in methods like addEventListener(), or set an event handler property.

addEventListener("ended", (event) => { })

onended = (event) => { }

Event type

A generic Event.


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.addEventListener("ended", () => {
  document.getElementById("startButton").disabled = false;

You can also set up the event handler using the onended property:

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

For an example of the ended event in use, see our audio-buffer example on GitHub.


Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
ended_event 30 12 25 No 17 7 ≤37 30 25 18 7 2.0

See also

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.