The AudioBuffer constructor of the Web Audio API creates a new AudioBuffer object.


var audioBuffer = new AudioBuffer(options);
var audioBuffer = new AudioBuffer(context[, options]);


Inherits parameters from the AudioNodeOptions dictionary.

A reference to an AudioContext. This parameter was removed from the spec. See the Browser Compatibility section for details.
Options are as follows:
  • length: The size of the audio buffer in sample-frames. To determine the length to use for a specific number of seconds of audio, use numSeconds * (sampleRate * numberOfChannels).
  • numberOfChannels: The number of channels for the buffer. The default is 1, and all user agents are required to support at least 32 channels.
  • sampleRate: The sample rate in Hz for the buffer. The default is the sample rate of the context used in constructing this object. User agents are required to support sample rates from 8,000 Hz to 96,000 Hz (but are allowed to go farther outside this range).

Return value

A new AudioBuffer object instance.


One or more of the options are negative or otherwise has an invalid value (such as numberOfChannels being higher than supported, or a sampleRate outside the nominal range).
There isn't enough memory available to allocate the buffer.


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

Browser Compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support551 ?53 No422 ?
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support551551 ?53422 ?6.0

1. The context parameter was supported up until version 57, but has now been removed.

2. The context parameter was supported up until version 44, but has now been removed.

Document Tags and Contributors

Last updated by: Phoenix35,