MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

AudioContext.close()

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
The definition of 'close()' in that specification.
草案  

ブラウザ互換性

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,