此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

AudioContext.resume()

基线 广泛可用

自 2021年4月 起,此特性已在主流浏览器中得到支持,可在大多数设备和浏览器版本中正常使用。

AudioContextresume() 方法,恢复之前暂停播放的音频。

如果在 OfflineAudioContext 上调用,会导致 INVALID_STATE_ERR 错误。

语法

js
var audioCtx = new AudioContext();
audioCtx.resume().then(function() { ... });

结果

Promise成功的话返回空值,返回失败是因为 context 已经关闭了。

示例

下面的代码是 AudioContext states demo (see it running live) 的一部分。当点击暂停/恢复按钮的时候,需要AudioContext.state做判断:如果是运行状态,调用suspend(),如果是暂停状态,调用resume()。每次点击事件成功后,按钮的文字也会随着变成对应的状态

js
susresBtn.onclick = function () {
  if (audioCtx.state === "running") {
    audioCtx.suspend().then(function () {
      susresBtn.textContent = "Resume context";
    });
  } else if (audioCtx.state === "suspended") {
    audioCtx.resume().then(function () {
      susresBtn.textContent = "Suspend context";
    });
  }
};

规范

规范
Web Audio API
# dom-audiocontext-resume

兼容性

参见