suspend()
方法在
AudioContext
Interface suspends the progression of time in the audio context, temporarily halting audio hardware access and reducing CPU/battery usage in the process — this is useful if you want an application to power down the audio hardware when it will not be using an audio context for a while.
This method will cause an
INVALID_STATE_ERR
exception to be thrown if called on an
OfflineAudioContext
.
var audioCtx = new AudioContext();
audioCtx.suspend().then(function() { ... });
A
Promise
that resolves with void. The promise is rejected if the context has already been closed.
The following snippet is taken from our
AudioContext states demo
(
see it running live
.) When the suspend/resume button is clicked, the
AudioContext.state
is queried — if it is
running
,
suspend()
is called; if it is
suspended
,
resume()
is called. In each case, the text label of the button is updated as appropriate once the promise resolves.
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';
});
}
}
| 规范 | 状态 | 注释 |
|---|---|---|
|
Web 音频 API
The definition of 'close()' in that specification. |
工作草案 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
suspend
|
Chrome 43 | Edge 14 | Firefox 40 | IE 不支持 No | Opera Yes | Safari Yes | WebView Android 43 | Chrome Android 43 | Firefox Android 40 | Opera Android Yes | Safari iOS Yes | Samsung Internet Android 4.0 |
完整支持
不支持
AudioContext
AnalyserNode
AudioBuffer
AudioBufferSourceNode
AudioContextOptions
AudioDestinationNode
AudioListener
AudioNode
AudioNodeOptions
AudioParam
AudioProcessingEvent
AudioScheduledSourceNode
AudioWorklet
AudioWorkletGlobalScope
AudioWorkletNode
AudioWorkletProcessor
BaseAudioContext
BiquadFilterNode
ChannelMergerNode
ChannelSplitterNode
ConstantSourceNode
ConvolverNode
DelayNode
DynamicsCompressorNode
GainNode
IIRFilterNode
MediaElementAudioSourceNode
MediaStreamAudioDestinationNode
MediaStreamAudioSourceNode
OfflineAudioCompletionEvent
OfflineAudioContext
OscillatorNode
PannerNode
PeriodicWave
StereoPannerNode
WaveShaperNode