AudioContext: close() メソッド
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2021年4月以降、すべてのブラウザーで利用可能です。
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");
});
};
仕様書
| 仕様書 |
|---|
| Web Audio API> # dom-audiocontext-close> |