AudioContext
Web Audio API 音频上下文,通过 mt.createWebAudioContext() 创建。
支持情况
属性
| 属性 | 类型 | 说明 |
| destination | AudioDestinationNode | 音频输出节点,所有音频节点的最终输出目标 |
| currentTime | number | 当前音频上下文的播放时间,单位秒,只增不减 |
| sampleRate | number | 音频采样率,单位 Hz |
| state | string | 当前状态,取值为 suspended、running 或 closed |
| listener | AudioListener | 空间音频监听器对象 |
方法
| 方法 | 说明 |
decodeAudioData(audioData, successCallback) | 异步解码音频数据(ArrayBuffer),解码完成后通过 successCallback 返回 AudioBuffer |
createAnalyser(opts) | 创建 AnalyserNode,用于音频分析与可视化 |
createBiquadFilter(opts) | 创建 BiquadFilterNode,用于音频滤波 |
createBuffer(opts) | 创建 AudioBuffer,用于存储音频样本数据 |
createBufferSource(opts) | 创建 AudioBufferSourceNode,用于播放 AudioBuffer 中的音频数据 |
createChannelMerger(opts) | 创建 ChannelMergerNode,将多个单声道输入合并为多声道输出 |
createChannelSplitter(opts) | 创建 ChannelSplitterNode,将多声道音频拆分为独立单声道 |
createConstantSource(opts) | 创建 ConstantSourceNode,输出恒定值的音频信号 |
createConvolver(opts) | 创建 ConvolverNode,用于实现混响等卷积效果 |
createDelay(maxDelayTime) | 创建 DelayNode,对音频信号施加延迟;maxDelayTime 为最大延迟时间(秒) |
createDynamicsCompressor(opts) | 创建 DynamicsCompressorNode,用于动态范围压缩 |
createGain(opts) | 创建 GainNode,用于控制音频音量 |
createOscillator(opts) | 创建 OscillatorNode,生成周期性波形信号 |
createPanner(opts) | 创建 PannerNode,实现三维空间音频定位 |
createStereoPanner(opts) | 创建 StereoPannerNode,实现左右声道平移 |
createWaveShaper(opts) | 创建 WaveShaperNode,用于非线性波形失真效果 |
close() | 关闭 AudioContext,释放相关系统资源 |
resume() | 恢复处于 suspended 状态的 AudioContext |
suspend() | 暂停 AudioContext,将状态切换为 suspended |
事件
| 事件 | 说明 |
onstatechange | AudioContext 状态变化时触发,可通过 audioCtx.state 获取新状态 |
与微信差异
无差异(行为与微信小游戏一致)。