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

瀏覽器相容性

另見