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()

引数

なし。

返値

undefined で解決する Promise です。

次のスニペットは 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

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
close

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報