OfflineAudioContext() constructor—part of the Web 音频 API —creates and returns a new OfflineAudioContext object instance, which can then be used to render audio to an AudioBuffer rather than to an audio output device.

句法

var offlineAudioCtx = new OfflineAudioContext(numberOfChannels, length, sampleRate);
var offlineAudioCtx = new OfflineAudioContext(options);
					

参数

You can specify the parameters for the OfflineAudioContext() constructor as either the same set of parameters as are inputs into the AudioContext.createBuffer() method, or by passing those parameters in an 选项 object. Either way, the individual parameters are the same.

numberOfChannels
An integer specifying the number of channels the resulting AudioBuffer should have.
length
An integer specifying the size of the buffer to create for the audio context, in sample-frames, where one sample-frame is a unit that can contain a single sample of audio data for every channel in the audio data. For example, a 5-second buffer with a sampleRate of 48000Hz would have a length of 5 * 48000 = 240000 sample-frames.
sampleRate

The sample-rate of the linear audio data in sample-frames per second. All user agents are required to support a range of 22050Hz to 96000Hz, and may support a wider range than that. The most commonly-used rate is 44100Hz, which is the sample rate used by CD audio.

It is important to note that, whereas you can create a new AudioContext 使用 new AudioContext() constructor with no arguments, the OfflineAudioContext() constructor requires three arguments, since it needs to create an AudioBuffer . This works in exactly the same way as when you create a new AudioBuffer 采用 AudioContext.createBuffer() method. For more detail, read Audio buffers: frames, samples and channels from our 基本概念 guide.

返回值

新的 OfflineAudioContext object whose associated AudioBuffer is configured as requested.

Like a regular AudioContext OfflineAudioContext can be the target of events, therefore it implements the EventTarget 接口。

范例

const offlineCtx = new OfflineAudioContext({
  numberOfChannels: 2,
  length: 44100 * 40,
  sampleRate: 44100,
});
const source = offlineCtx.createBufferSource();
// etc...
					

For a full working example, see our offline-audio-context-promise Github repo (see the 源代码 too.)

规范

规范 状态 注释
Web 音频 API
The definition of 'OfflineAudioContext()' in that specification.
工作草案

浏览器兼容性

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request. 更新 GitHub 上的兼容性数据
桌面 移动
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
OfflineAudioContext() 构造函数 Chrome 55
55
Before Chrome 59, the default values were not supported.
Edge ≤79 Firefox 53 IE No Opera 42 Safari ? WebView Android 55
55
Before version 59, the default values were not supported.
Chrome Android 55
55
Before Chrome 59, the default values were not supported.
Firefox Android 53 Opera Android 42 Safari iOS ? Samsung Internet Android 6.0
6.0
Before Samsung Internet 7.0, the default values were not supported.
Parameters accepted as a single object, as well as being passed in individually Chrome 62 Edge ≤79 Firefox 57 IE No Opera 49 Safari No WebView Android 62 Chrome Android 62 Firefox Android 57 Opera Android 46 Safari iOS No Samsung Internet Android 8.0

图例

完整支持

完整支持

不支持

不支持

兼容性未知 ?

兼容性未知

见实现注意事项。

元数据

  • 最后修改: