AudioContext.suspend()
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 |
---|
Web Audio API # dom-audiocontext-suspend |
ブラウザ互換性
BCD tables only load in the browser