AudioContext:suspend() 方法
AudioContext
接口的 suspend()
方法会暂停音频上下文中的时间推移,暂时停止对音频硬件的访问,并在此过程中减少 CPU/电池的使用——如果您希望应用程序在一段时间内不使用音频上下文时关闭音频硬件,这将非常有用。
如果在 OfflineAudioContext
上调用此方法,则会引发 INVALID_STATE_ERR
异常。
语法
js
suspend()
参数
无。
返回值
示例
以下代码段取自我们的 AudioContext 状态演示(查看其在线运行情况)。当单击暂停/恢复按钮时,会查询 AudioContext.state
——如果它是 running
,则调用 suspend()
;如果它是 suspended
,则调用 resume()
。在每种情况下,一旦 Promise 解析,按钮的文本标签都会相应更新。
js
susresBtn.onclick = () => {
if (audioCtx.state === "running") {
audioCtx.suspend().then(() => {
susresBtn.textContent = "Resume context";
});
} else if (audioCtx.state === "suspended") {
audioCtx.resume().then(() => {
susresBtn.textContent = "Suspend context";
});
}
};
规范
规范 |
---|
Web Audio API # dom-audiocontext-suspend |
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。