AudioContextインターフェースのclose()メソッドは、オーディオコンテキストを閉じて使っていたシステムのオーディオリソースを全て解放します。

閉じたコンテキストは新しいノードを生成できませんが、音声データのデコードやバッファの生成などは可能です。

この関数は、他の参照も同様に解放されない限り、AudioContextが生成したオブジェクトは自動的には解放しません。しかし、これはオーディオリソースを強制的に解放します。よって、オーディオコンテキストの更なる生成と使用はできなくなり、オーディオコンテキストの時間の流れは止まり、音声データの処理は停止します。
全てのAudioContext-creation-blockingリソースが解放されたとき、返されたPromiseが完了します。このメソッドはOfflineAudioContextで呼ばれたときINVALID_STATE_ERR例外が発生します。
 

構文

var audioCtx = new AudioContext();
audioCtx.close().then(function() { ... });

戻り値

voidで完了するPromise

次のスニペットはAudioContext states デモ(すぐ実行)から取ったものです。stopボタンをクリックすると、close()が呼ばれます。プロミスに成功すると、リセットされ最初の状態に戻ります。

stopBtn.onclick = function() {
  audioCtx.close().then(function() {
    startBtn.removeAttribute('disabled');
    susresBtn.setAttribute('disabled','disabled');
    stopBtn.setAttribute('disabled','disabled');
  });
}

仕様

Specification Status Comment
Web Audio API
close() の定義
草案  

ブラウザ互換性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 43.0 40.0 (40.0) 未サポート ? ?
Feature Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support 未サポート 未サポート ? ? ? ? ? 未サポート

参考

ドキュメントのタグと貢献者

 このページの貢献者: maruhiro
 最終更新者: maruhiro,