AudioContext: close() 方法

Baseline 已广泛支持

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

AudioContext 接口的 close() 方法用于关闭音频上下文,释放其使用的所有系统音频资源。

此函数不会自动释放所有 AudioContext 创建的对象,除非其他引用也已释放;但是,它会强制释放可能阻止创建和使用其他 AudioContext 的系统音频资源,暂停音频上下文中音频时间的进展,并停止处理音频数据。返回的 Promise 在所有阻止 AudioContext 创建的资源都已释放时解析。如果在一个 OfflineAudioContext 上调用此方法,它会抛出 INVALID_STATE_ERR 异常。

语法

js
close()

参数

无。

返回值

一个 Promise,它会解析为 undefined

示例

下面的代码片段摘自我们的 AudioContext 状态演示在线查看)。当点击停止按钮时,会调用 close()。当 Promise 解析时,示例将重置到初始状态。

js
stopBtn.onclick = () => {
  audioCtx.close().then(() => {
    startBtn.removeAttribute("disabled");
    susResBtn.setAttribute("disabled", "disabled");
    stopBtn.setAttribute("disabled", "disabled");
  });
};

规范

规范
Web Audio API
# dom-audiocontext-close

浏览器兼容性

另见