OscillatorNode.start()

The start method of the OscillatorNode interface specifies the exact time to start playing the tone. Its parameter is optional and default to 0.

Syntax

oscillator.start(when); // start playing oscillator at the point in time specified by when

Parameters

when Optional
An optional double representing the time (in seconds) when the oscillator should start, in the same coordinate system as AudioContext's currentTime attribute. If a value is not included or is less than currentTime, the oscillator starts playing immediately.

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.setValueAtTime(3000, audioCtx.currentTime); // value in hertz
oscillator.start();

Specifications

Specification Status Comment
Web Audio API
The definition of 'start' in that specification.
Working Draft

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
startChrome Full support 14Edge Full support 12Firefox Full support 25
Notes
Full support 25
Notes
Notes Before Firefox 30, the when parameter was not optional.
IE No support NoOpera Full support 15Safari Full support 6WebView Android Full support YesChrome Android Full support 18Firefox Android Full support 26
Notes
Full support 26
Notes
Notes Before Firefox 30, the when parameter was not optional.
Opera Android Full support 14Safari iOS ? Samsung Internet Android Full support 1.0

Legend

Full support
Full support
No support
No support
Compatibility unknown
Compatibility unknown
See implementation notes.
See implementation notes.

See also