The onended property of the OscillatorNode interface is used to set the event handler for the ended event, which fires when the tone has stopped playing.
Syntax
var oscillator = audioCtx.createOscillator();
oscillator.onended = function() { ... };
Example
The following example shows basic usage of an AudioContext to create an oscillator node. For an applied example, check out our Violent Theremin demo (see app.js for relevant code).
// create web audio api context
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
// create Oscillator node
var oscillator = audioCtx.createOscillator();
oscillator.type = 'square';
oscillator.frequency.value = 440; // value in hertz
oscillator.start(); // start the tone playing
oscillator.stop(5); // the tone will stop again in 5 seconds.
oscillator.onended = function() {
console.log('Your tone has now stopped playing!');
}
Properties
None.
Specifications
| Specification | Status | Comment |
|---|---|---|
| Web Audio API The definition of 'onended' in that specification. |
Working Draft |
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|---|
| Basic support | 14 webkit | (Yes) | 23 | No support | 15 webkit 22 (unprefixed) |
6 webkit |
| Feature | Android | Chrome | Edge | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|---|---|
| Basic support | No support | 28 webkit | (Yes) | 25 | 1.2 | No support | No support | 6 webkit |