AudioContext: resume() 方法

Baseline 已广泛支持

此特性已得到良好支持,可在多种设备和浏览器版本上使用。自 2021 年 4 月起,所有浏览器均已支持此特性。

AudioContext 接口的 resume() 方法可以恢复先前已暂停的音频上下文的时间进展。

如果在一个 OfflineAudioContext 上调用此方法,将会抛出 INVALID_STATE_ERR 异常。

语法

js
resume()

参数

无。

返回值

一个 Promise,当上下文恢复时它会 resolve。如果上下文已经关闭,则 promise 会 rejected。

示例

以下代码片段摘自我们的 AudioContext 状态演示实时运行)。当点击 suspend/resume 按钮时,会查询 AudioContext.state — 如果它是 running,则调用 suspend();如果它是 suspended,则调用 resume()。在每种情况下,一旦 promise resolve,按钮的文本标签会相应更新。

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-resume

浏览器兼容性

另见