AudioContextOptions - 构造 AudioContext 对象的配置选项

AudioContextOptions 字典用于指定在构造一个新的 AudioContext 对象以表示 Web 音频节点图时的配置选项。仅在调用 AudioContext() 构造函数时使用。

属性

latencyHint 可选

上下文将用于的回放类型,使用 AudioContextLatencyCategory 枚举中的值,或双精度浮点值,表示上下文的首选最大延迟(以秒为单位)。用户代理可能会也可能不会选择满足此请求;请检查 AudioContext.baseLatency 的值,以确定创建上下文后的真实延迟。

sampleRate 可选

由 AudioContext 使用的 sampleRate,以每秒为单位。该值可以是 AudioBuffer 支持的任何值。如果未指定,则默认使用上下文输出设备的首选采样率。

常量

latencyHint 的标准值

latencyHint 属性可以是数字,用于指定首选的最大延迟(以秒为单位),也可以是来自 AudioContextLatencyCategory 枚举的字符串,该字符串选择标准给定音频使用类型的值:

"balanced"

选择等待时间值时,用户代理应平衡音频输出等待时间和功耗。

"interactive"

音频包含在交互元素中,例如响应用户动作或需要与视觉提示(例如视频或游戏动作)一致。用户代理应选择不会引起音频故障的最低延迟。这可能需要增加功耗。 这是默认值。

"playback"

用户代理应选择一个延迟,该延迟将通过以最小化功耗为代价来最大程度地延长播放时间,但以延迟为代价。用于非交互式播放,例如播放音乐。

实例

下面实例以 48,000 Hz 的采样率实例化音乐播放的音频上下文(针对延迟中的功耗进行了优化)。

let musicContext = new AudioContext({
  latencyHint: "playback",
  sampleRate: 48000
});

规范

规范 状态 备注
Web Audio API
AudioContextOptions 的定义
工作草案 初始定义。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持60≤7961 不支持 未知 未知
基础支持60≤7961 不支持 未知 未知
sampleRate747961 不支持 不支持 未知

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持6060 未知61 未知 未知 未知
基础支持6060 未知61 未知 未知 未知
sampleRate7474 未知61 未知 未知 未知