AudioContext: close() メソッド
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.
close()
は AudioContext
インターフェイスのメソッドで、音声コンテキストを閉じて使っていたシステムの音声リソースを全て解放します。
この関数は、他の参照も同様に解放されない限り、 AudioContext
が生成したオブジェクトは自動的には解放しません。しかし、これは音声リソースを強制的に解放します。よって、音声コンテキストの更なる生成と使用はできなくなり、音声コンテキストの時間の流れは止まり、音声データの処理は停止します。 AudioContext
の生成をブロックするリソースがすべて解放されたとき、返された Promise
が解決します。このメソッドは OfflineAudioContext
で呼ばれたとき INVALID_STATE_ERR
例外が発生します。
構文
js
close()
引数
なし。
返値
例
次のスニペットは AudioContext states デモ(すぐ実行)から取ったものです。stop ボタンをクリックすると、 close()
が呼び出されます。プロミスに成功すると、リセットされ最初の状態に戻ります。
js
stopBtn.onclick = () => {
audioCtx.close().then(() => {
startBtn.removeAttribute("disabled");
susresBtn.setAttribute("disabled", "disabled");
stopBtn.setAttribute("disabled", "disabled");
});
};
仕様書
Specification |
---|
Web Audio API # dom-audiocontext-close |
ブラウザーの互換性
BCD tables only load in the browser