suspend()メソッドは、オーディオコンテキストの時間の流れを一時停止します。音声ハードウェアへのアクセスを一時的に停止し、処理に必要だったCPU/バッテリーの使用を減らすことが出来ます。これは、アプリケーションがしばらくの間オーディオを扱わない間に、音声ハードウェアに電源を供給しないようにしたいときに便利です。

OfflineAudioContextでこのメソッドを呼ぶとINVALID_STATE_ERR例外が発生します。

構文

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

戻り値

voidで完了するPromise。コンテキストが既に閉じている場合、プロミスは失敗します。

次のスニペットはAudioContext states デモ(すぐ実行)から取ったものです。suspend/resumeボタンをクリックすると、AudioContext.stateを問い合わせます—もしrunningならば、suspend()が呼ばれます。suspendedならば、resumeが呼ばれます。両方ともプロミスに成功するとボタンのラベルが適したものに更新されます。

susresBtn.onclick = function() {
  if(audioCtx.state === 'running') {
    audioCtx.suspend().then(function() {
      susresBtn.textContent = 'Resume context';
    });
  } else if(audioCtx.state === 'suspended') {
    audioCtx.resume().then(function() {
      susresBtn.textContent = 'Suspend context';
    });  
  }
}

仕様

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

ブラウザ互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung Internet
基本対応Chrome 完全対応 43Edge ? Firefox 完全対応 40IE 未対応 なしOpera 完全対応 ありSafari ? WebView Android 完全対応 43Chrome Android 完全対応 43Edge Mobile ? Firefox Android 完全対応 40Opera Android 完全対応 ありSafari iOS ? Samsung Internet Android 完全対応 4.0

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明

参考

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

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