AudioContext:close() 方法

基线 广泛可用

此功能已完善,可在许多设备和浏览器版本上运行。自以下时间起,它已在各个浏览器中可用: 2021 年 4 月.

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

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

语法

js
close()

参数

无。

返回值

一个解析为 undefinedPromise

示例

以下代码段取自我们的 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

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。

另请参阅