AudioContext - 表示音频处理图形
AudioContext
接口代表一个音频处理图形,它由连接在一起的音频模块构成,每个音频模块由 AudioNode
表示。音频上下文控制了它的节点的创建,以及音频处理或解码的执行。因为所有变化都发生在该上下文中,所以在做其他相关事情之前,您需要创建一个 AudioContext
。
构造方法
AudioContext()
创建并返回一个新的 AudioContext
对象。
属性
还从其父接口 BaseAudioContext
继承了属性。
AudioContext.baseLatency
只读
返回 AudioContext
将音频从 AudioDestinationNode
传递到音频子系统所需的处理延迟秒数。
AudioContext.outputLatency
只读
返回当前音频上下文的输出延迟的估计秒数。
方法
还从其父接口 BaseAudioContext
继承了方法。
AudioContext.close()
关闭音频上下文,释放它使用的任何系统音频资源。
AudioContext.createMediaElementSource()
创建与 HTMLMediaElement
关联的 MediaElementAudioSourceNode
。这可用于播放和处理来自 <video>
或 <audio>
元素的音频。
AudioContext.createMediaStreamSource()
创建与 MediaStream
相关联的 MediaStreamAudioSourceNode
,表示可能来自本地计算机麦克风或其他来源的音频流。
AudioContext.createMediaStreamDestination()
创建与 MediaStream
相关联的 MediaStreamAudioDestinationNode
,该音频流可以存储在本地文件中或发送到另一台计算机
AudioContext.createMediaStreamTrackSource()
创建与表示媒体流轨道的 MediaStream
相关联的 MediaStreamTrackAudioSourceNode
。
AudioContext.getOutputTimestamp()
返回包含两个相关上下文的音频流位置值的新 AudioTimestamp
对象。
AudioContext.resume()
恢复之前前已暂停的音频上下文中的时间进度。
AudioContext.suspend()
暂停音频环境中的时间进度,临时停止音频硬件访问并减少过程中的 CPU 或电池使用。
更多实例
初始化音频上下文的基础声明:
var audioCtx = new AudioContext();
跨浏览器支持的声明:
var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioCtx = new AudioContext();
var oscillatorNode = audioCtx.createOscillator();
var gainNode = audioCtx.createGain();
var finish = audioCtx.destination;
// etc.
规范
规范 | 状态 | 备注 |
---|---|---|
Web Audio API AudioContext 的定义 |
工作草案 | - |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 |
35 14 — 57 webkit |
支持 | 25 | 不支持 |
22 15 — 44 webkit |
6 webkit |
AudioContext() constructor |
55 | 支持 | 25 | 不支持 | 42 | 支持 webkit |
baseLatency |
60 | 未知 | 不支持 | 不支持 | 47 | 不支持 |
outputLatency |
不支持 | 未知 | 不支持 | 不支持 | 不支持 | 不支持 |
close |
43 | 未知 | 40 | 不支持 | 支持 | 未知 |
createMediaElementSource |
14 | 支持 | 25 | 不支持 | 15 | 6 |
createMediaStreamSource |
14 | 支持 | 25 | 不支持 | 15 | 6 |
createMediaStreamDestination |
14 | 支持 | 25 | 不支持 | 15 | 6 |
createMediaStreamTrackSource |
未知 | 未知 | 不支持 | 不支持 | 未知 | 不支持 |
getOutputTimestamp |
57 | 未知 | 不支持 | 不支持 | 44 | 不支持 |
suspend |
43 | 未知 | 40 | 不支持 | 支持 | 未知 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 支持 |
35 14 — 57 webkit |
支持 | 26 | 未知 |
22 15 — 44 webkit |
未知 |
AudioContext() constructor |
55 | 55 | 未知 | 25 | 未知 | 42 | 未知 |
baseLatency |
60 | 60 | 未知 | 不支持 | 未知 | 47 | 不支持 |
outputLatency |
不支持 | 不支持 | 未知 | 不支持 | 未知 | 不支持 | 未知 |
close |
43 | 43 | 未知 | 40 | 未知 | 支持 | 未知 |
createMediaElementSource |
支持 | 14 | 支持 | 26 | 未知 | 15 | 未知 |
createMediaStreamSource |
支持 | 14 | 支持 | 26 | 未知 | 15 | 未知 |
createMediaStreamDestination |
支持 | 14 | 支持 | 26 | 未知 | 15 | 未知 |
createMediaStreamTrackSource |
未知 | 未知 | 未知 | 不支持 | 未知 | 未知 | 不支持 |
getOutputTimestamp |
57 | 57 | 未知 | 不支持 | 未知 | 44 | 不支持 |
suspend |
43 | 43 | 未知 | 40 | 未知 | 支持 | 未知 |