BaseAudioContext:state 属性

基线 广泛可用

此功能非常成熟,可以在许多设备和浏览器版本中正常使用。它自 2021 年 4 月.

报告反馈

BaseAudioContext 接口的只读属性 state 返回 AudioContext 的当前状态。

字符串。可能的取值是

suspended

音频上下文已暂停(使用 AudioContext.suspend() 方法)。

running

音频上下文正常运行。

closed

示例

音频上下文已关闭(使用 AudioContext.close() 方法)。

处理状态更改

以下代码片段取自我们的 AudioContext 状态演示查看在线演示)。onstatechange 处理程序用于在每次状态更改时将当前状态记录到控制台。
audioCtx.onstatechange = () => {
  console.log(audioCtx.state);
};

js

在 iOS Safari 中恢复中断的播放状态

以下代码片段取自我们的 AudioContext 状态演示查看在线演示)。onstatechange 处理程序用于在每次状态更改时将当前状态记录到控制台。
function play() {
  if (audioCtx.state === "interrupted") {
    audioCtx.resume().then(() => play());
    return;
  }
  // rest of the play() function
}

规范

在 iOS Safari 中,当用户离开页面(例如切换标签页、最小化浏览器或关闭屏幕)时,音频上下文的 state 将变为 "interrupted",需要恢复。例如
Web 音频 API
# 规范

浏览器兼容性

dom-baseaudiocontext-state

另请参阅