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.
var oscillator = audioCtx.createOscillator();
oscillator.onended = function() { ... }; 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!');
}
None.
| Specification | Status | Comment |
|---|---|---|
| Web Audio API The definition of 'onended' in that specification. | Working Draft |
| Desktop | ||||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
| Basic support | 14 | 12 | 25 | No | 15 | 6 |
| Mobile | |||||||
|---|---|---|---|---|---|---|---|
| Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
| Basic support | Yes | 18 | Yes | 26 | 15 | ? | Yes |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/OscillatorNode/onended