AudioScheduledSourceNode: start() 方法

Baseline 已广泛支持

此功能已成熟,并可在许多设备和浏览器版本上使用。自 2020 年 9 月起,所有浏览器均已提供此功能。

AudioScheduledSourceNode 上的 start() 方法用于在指定时间安排声音开始播放。如果未指定时间,则声音会立即开始播放。

语法

js
start()
start(when)

参数

when 可选

声音应开始播放的时间(以秒为单位)。此值在 AudioContext 用于其 currentTime 属性的相同时间坐标系统中指定。值为 0(或完全省略 when 参数)会导致声音立即开始播放。

返回值

无(undefined)。

异常

InvalidStateNode DOMException

如果节点已启动,则抛出此异常。即使节点由于先前调用 stop() 而不再运行,也会发生此错误。

RangeError

如果为 when 指定的值为负数,则抛出此异常。

示例

此示例演示了如何创建一个 OscillatorNode,该节点被安排在 2 秒后开始播放,并在之后 1 秒停止播放。这些时间是通过将所需的秒数加到通过 AudioContext.currentTime 返回的上下文的当前时间戳来计算的。

js
context = new AudioContext();
osc = context.createOscillator();
osc.connect(context.destination);

/* Schedule the start and stop times for the oscillator */

osc.start(context.currentTime + 2);
osc.stop(context.currentTime + 3);

规范

规范
Web Audio API
# dom-audioscheduledsourcenode-start

浏览器兼容性

另见