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 | 未サポート | 未サポート | ? | ? | ? | ? | ? | 未サポート |