OfflineAudioContext()
构造函数创建一个新的 OfflineAudioContext
对象实例。
语法
var myOfflineAudio = new OfflineAudioContext(numOfChannels,length,sampleRate);
参数
- numOfChannels
- An integer 代表该缓冲区拥有的声道的数目。该实现需要支持至少32个声道。
- length
- 代表采样帧缓冲区的大小的整数。
- sampleRate
- 采样帧每一秒的线性音频数据的采样率。该实现必须支持在 22050 到 96000 之间的采样率,44100 是最经常用到的采样率。
这里有个重要的警告,你可以通过不带参数的使用 new AudioContext()
构造函数创建一个新的 AudioContext
,但是 OfflineAudioContext()
构造函数必须带上三个参数。当你通过 AudioContext.createBuffer
方法创建一个新的AudioBuffer
时,你也是需要做一样的事情。想要知道更多信息,请阅读我们的基本概念指南的 音频片段:帧,样本和声道。
注意:像普通的 AudioContext
,OfflineAudioContext
可以成为事件的目标,因此它的实现是 EventTarget
接口。
例子
// 定义一个在线或者离线的音频上下文
var audioCtx = new AudioContext();
var offlineCtx = new OfflineAudioContext(2,44100*40,44100);
source = offlineCtx.createBufferSource();
// 更多代码...
注意: 想要获取完整的例子,请看我们在 Github 仓库的 offline-audio-context-promise (也可以看 源代码 )
标准
Specification | Status | Comment |
---|---|---|
Web Audio API OfflineAudioContext |
Working Draft |
浏览器兼容性
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | (Yes) |
(Yes) | 未实现 |
(Yes) |
未实现 |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | 未实现 | (Yes) |
(Yes) | 未实现 | (Yes) | 未实现 | (Yes) |