此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

OfflineAudioContext.OfflineAudioContext()

基线 广泛可用

自 2021年4月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

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 (也可以看 源代码

规范

规范
Web Audio API
# dom-offlineaudiocontext-offlineaudiocontext

浏览器兼容性