AudioScheduledSourceNode: ended event
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.
The ended event of the AudioScheduledSourceNode interface is fired when the source node has stopped playing.
This event occurs when an 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.
Syntax
Use the event name in addEventListener():
addEventListener("ended", (event) => { })
Alternatively, assign to the event handler property of the interface:
onended = (event) => { }
Event type
A generic Event.
Examples
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 (but note that this replaces other event listeners added using onended, if any):
node.onended = () => {
document.getElementById("startButton").disabled = false;
};
For an example of the ended event in use, see our audio-buffer example on GitHub.
Specifications
| Specification |
|---|
| Web Audio API> # dom-audioscheduledsourcenode-onended> |
Browser compatibility
Related events
See also
HTMLAudioElementHTMLVideoElement<audio><video>- The HTMLMediaElement
endedevent - The MediaStreamTrack
endedevent