AudioContext
Baseline 广泛可用 *
AudioContext 接口表示一个由链接在一起的音频模块构建的音频处理图,每个模块都由一个 AudioNode 表示。
音频上下文控制着它包含的节点的创建和音频处理或解码的执行。在进行任何其他操作之前,您需要创建一个 AudioContext,因为所有操作都发生在上下文中。建议创建一个 AudioContext 并重用它,而不是每次都初始化一个新的,并且可以使用单个 AudioContext 同时处理多个不同的音频源和管道。
构造函数
AudioContext()-
创建并返回一个新的
AudioContext对象。
实例属性
还继承了其父接口 BaseAudioContext 的属性。
AudioContext.baseLatency只读-
返回
AudioContext将音频从AudioDestinationNode传递到音频子系统所产生的处理延迟秒数。 AudioContext.outputLatency只读-
返回当前音频上下文的输出延迟估算值。
AudioContext.sinkId只读 实验性 安全上下文-
返回当前输出音频设备的接收器 ID。
实例方法
还继承了其父接口 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.setSinkId()实验性 安全上下文-
设置
AudioContext的输出音频设备。 AudioContext.suspend()-
暂停音频上下文的时间流逝,暂时停止音频硬件访问,并在此过程中减少 CPU/电池使用。
事件
sinkchange实验性-
当输出音频设备(因此,
AudioContext.sinkId)发生更改时触发。
示例
基本音频上下文声明
const audioCtx = new AudioContext();
const oscillatorNode = audioCtx.createOscillator();
const gainNode = audioCtx.createGain();
const finish = audioCtx.destination;
// etc.
规范
| 规范 |
|---|
| Web Audio API # AudioContext |
浏览器兼容性
加载中…