OfflineAudioContext.OfflineAudioContext()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

OfflineAudioContext() 构造函数创建一个新的 OfflineAudioContext 对象实例。

语法

js
new OfflineAudioContext(options)

new OfflineAudioContext(numberOfChannels, length, sampleRate)

参数

numberOfChannels

An integer 代表该缓冲区拥有的声道的数目。该实现需要支持至少 32 个声道。

length

代表采样帧缓冲区的大小的整数。

sampleRate

采样帧每一秒的线性音频数据的采样率。该实现必须支持在 22050 到 96000 之间的采样率,44100 是最经常用到的采样率。

这里有个重要的警告,你可以通过不带参数的使用 new AudioContext() 构造函数创建一个新的 AudioContext,但是 OfflineAudioContext() 构造函数必须带上三个参数。当你通过 AudioContext.createBuffer 方法创建一个新的AudioBuffer 时,你也是需要做一样的事情。想要知道更多信息,请阅读我们的基本概念指南的 音频片段:帧,样本和声道

备注: 像普通的 AudioContextOfflineAudioContext 可以成为事件的目标,因此它的实现是 EventTarget 接口。

例子

js
// 定义一个在线或者离线的音频上下文

var audioCtx = new AudioContext();
var offlineCtx = new OfflineAudioContext(2, 44100 * 40, 44100);

source = offlineCtx.createBufferSource();

// 更多代码...

备注: 想要获取完整的例子,请看我们在 Github 仓库的 offline-audio-context-promise (也可以看 源代码

规范

Specification
Web Audio API
# dom-offlineaudiocontext-offlineaudiocontext

浏览器兼容性

BCD tables only load in the browser