AudioContext: suspend() メソッド
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.
suspend()
は AudioContext
インターフェイスのメソッドで、音声コンテキストの時間の流れを一時停止します。音声ハードウェアへのアクセスを一時的に停止し、処理に必要だった CPU/バッテリーの使用を減らすことが出来ます。これは、アプリケーションがしばらくの間音声を扱わない間に、音声ハードウェアに電源を供給しないようにしたいときに便利です。
OfflineAudioContext
でこのメソッドを呼び出すと、 INVALID_STATE_ERR
例外が発生します。
構文
js
suspend()
引数
なし。
返値
例
次のスニペットは AudioContext states デモ(ライブ実行)から取ったものです。suspend/resume ボタンをクリックすると、 AudioContext.state
を問い合わせます。もし running
ならば、 suspend()
が呼び出されます。 suspended
ならば、 resume()
が呼び出されます。両方ともプロミスに成功するとボタンのラベルが適したものに更新されます。
js
susresBtn.onclick = () => {
if (audioCtx.state === "running") {
audioCtx.suspend().then(() => {
susresBtn.textContent = "Resume context";
});
} else if (audioCtx.state === "suspended") {
audioCtx.resume().then(() => {
susresBtn.textContent = "Suspend context";
});
}
};
仕様書
Specification |
---|
Web Audio API # dom-audiocontext-suspend |
ブラウザーの互換性
BCD tables only load in the browser