The suspend() method of the OfflineAudioContext interface schedules a suspension of the time progression in the audio context at the specified time and returns a promise. This is generally useful at the time of manipulating the audio graph synchronously on OfflineAudioContext.

Note that the maximum precision of suspension is the size of the render quantum and the specified suspension time will be rounded down to the nearest render quantum boundary. For this reason, it is not allowed to schedule multiple suspends at the same quantized frame. Also scheduling should be done while the context is not running to ensure the precise suspension.


OfflineAudioContext.suspend(suspendTime).then(function() { ... });


A double specifying the suspend time, in seconds.


A Promise resolving to void.


The promise is rejected when any exception is encountered.

InvalidStateError if the quantized frame number is one of the following:

  • a negative number
  • is less than or equal to the current time
  • is greater than or equal to the total render duration
  • is scheduled by another suspend for the same time


Specification Status Comment
Web Audio API
The definition of 'suspend()' in that specification.
Working Draft Initial definition.

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
suspendChrome Full support 49Edge Full support ≤18Firefox No support NoIE No support NoOpera Full support 36Safari No support NoWebView Android Full support 49Chrome Android Full support 49Firefox Android No support NoOpera Android Full support 36Safari iOS No support NoSamsung Internet Android Full support 5.0


Full support  
Full support
No support  
No support