AudioScheduledSourceNode: stop() 方法
基线 广泛可用
此功能已相当成熟,可在许多设备和浏览器版本上运行。自 2021 年 4 月.
报告反馈
AudioScheduledSourceNode
上的 stop()
方法计划在指定时间停止播放声音。如果未指定时间,则声音立即停止播放。
每次在同一个节点上调用 stop()
时,指定的时间都会替换任何尚未发生的先前已计划的停止时间。如果节点已停止,则此方法无效。
语法
**注意:** 如果计划的停止时间发生在节点的计划开始时间之前,则节点永远不会开始播放。
stop()
stop(when)
参数
when
可选-
声音应停止播放的时间(以秒为单位)。此值是在与
AudioContext
用于其currentTime
属性的相同时间坐标系中指定的。省略此参数、指定值为 0 或传递负值会导致声音立即停止播放。
返回值
无 (undefined
).
异常
InvalidStateNode
DOMException
-
如果节点尚未通过调用
start()
启动,则抛出此异常。 RangeError
-
如果为
when
指定的值为负数,则抛出此异常。
示例
此示例演示了如何启动一个振荡器节点,计划立即开始播放,并在 1 秒后停止播放。停止时间是通过获取音频上下文的当前时间(来自 AudioContext.currentTime
)并加上 1 秒来确定的。
**注意:** 如果计划的停止时间发生在节点的计划开始时间之前,则节点永远不会开始播放。
context = new AudioContext();
osc = context.createOscillator();
osc.connect(context.destination);
/* Let's play a sine wave for one second. */
osc.start();
osc.stop(context.currentTime + 1);
规范
规范 |
---|
Web Audio API # dom-audioscheduledsourcenode-stop |
浏览器兼容性
BCD 表仅在浏览器中加载