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.


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

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 49.0        
Feature Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support No support 49.0           49.0


© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

API Method NeedsExample OfflineAudioContext Reference suspend Web Audio API