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.
Syntax
AudioScheduledSourceNode.onended = EventHandler;
Value
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.
Example
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;
}
Specifications
| Specification | Status | Comment |
|---|---|---|
| Web Audio API The definition of 'onended' in that specification. |
Working Draft | Initial specification. |
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | 56.0[1] | ?} | 53 (53) | No support | 43[1] | ? |
| Feature | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | 56.0[1] | 56.0[1] | 53.0 (53) | No support | 43[1] | ? |
[1] Chrome and Opera don't yet implement the AudioScheduledSourceNode interface, so this event handler is instead provided directly by the concrete interface, such as ConstantSourceNode or AudioBufferSourceNode.
See also
- The
endedevent and its type,Event. AudioScheduledSourceNode- Web Audio API