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 未知 支持 未知

相关链接