微信小程序插件:不支持
功能描述
创建一个ChannelSplitterNode
参数
number numberOfOutputs
要分别输出的输入音频流中的通道数
微信小程序插件:不支持
创建一个ChannelSplitterNode
要分别输出的输入音频流中的通道数
微信小程序插件:不支持
创建一个ChannelMergerNode
输出流中需要保持的输入流的个数
示例代码
微信小程序插件:不支持
创建一个 BufferSourceNode 实例,通过 AudioBuffer 对象来播放音频数据。
const audioCtx = wx.createWebAudioContext()
const loadAudio = (url) => {
return new Promise((resolve) => {
wx.request({
url,
responseType: 'arraybuffer',
success: res => {
console.log('res.data', res.data)
audioCtx.decodeAudioData(res.data, buffer => {
resolve(buffer)
}, err => {
console.error('decodeAudioData fail', err)
reject()
})
},
fail: res => {
console.error('request fail', res)
reject()
}
})
})
}
const play = () => {
loadAudio('xxx-test.mp3').then(buffer => {
let source = audioCtx.createBufferSource()
source.buffer = buffer
source.connect(audioCtx.destination)
source.start()
}).catch(() => {
console.log('fail')
})
}
play()
微信小程序插件:不支持
创建一个AudioBuffer,代表着一段驻留在内存中的短音频
定义了 buffer 中包含的声频通道数量的整数
代表 buffer 中的样本帧数的整数
线性音频样本的采样率,即每一秒包含的关键帧的个数
buffer 返回一个AudioBuffer实例
示例代码
const audioCtx = wx.createWebAudioContext()
const channels = 2, frameCount = audioCtx.sampleRate * 2.0
const myArrayBuffer = audioCtx.createBuffer(channels, frameCount, audioCtx.sampleRate)
基础库 2.22.0 开始支持,低版本需做兼容处理。
微信小程序插件:不支持
创建一个 AnalyserNode。可以用来获取音频时间和频率数据,以及实现数据可视化。
示例代码
const audioCtx = wx.createWebAudioContext();
const analyser = audioCtx.createAnalyser();
analyser.fftSize = 2048;
const bufferLength = analyser.fftSize;
const dataArray = new Uint8Array(bufferLength);
analyser.getByteTimeDomainData(dataArray);
微信小程序插件:不支持
关闭WebAudioContext
同步关闭对应的WebAudio上下文。close后会立即释放当前上下文的资源,不要在close后再次访问state属性。
const audioCtx = wx.createWebAudioContext()
audioCtx.close().then(() => {
console.log(audioCtx.state) // bad case:不应该在close后再访问state
})
基础库 2.19.0 开始支持,低版本需做兼容处理。
WebAudioContext 实例,通过wx.createWebAudioContext 接口获取该实例。
当前WebAudio上下文的状态。可能的值如下:suspended(暂停)、running(正在运行)、closed(已关闭)。需要注意的是,不要在 audioContext close后再访问state属性
可写属性,开发者可以对该属性设置一个监听函数,当WebAudio状态改变的时候,会触发开发者设置的监听函数。
获取当前上下文的时间戳。
当前上下文的最终目标节点,一般是音频渲染设备。
空间音频监听器。
采样率,通常在8000-96000之间,通常44100hz的采样率最为常见。
关闭WebAudioContext
同步恢复已经被暂停的WebAudioContext上下文
同步暂停WebAudioContext上下文
创建一个IIRFilterNode
创建一个WaveShaperNode
创建一个ConstantSourceNode
创建一个OscillatorNode
创建一个GainNode
创建一个PeriodicWaveNode
创建一个BiquadFilterNode
创建一个BufferSourceNode实例,通过AudioBuffer对象来播放音频数据。
创建一个ChannelMergerNode
创建一个ChannelSplitterNode
创建一个DelayNode
创建一个DynamicsCompressorNode
创建一个ScriptProcessorNode
创建一个 AnalyserNode 。可以用来获取音频时间和频率数据,以及实现数据可视化。
创建一个PannerNode
创建一个AudioBuffer,代表着一段驻留在内存中的短音频
异步解码一段资源为AudioBuffer。
// 监听状态
const audioCtx = wx.createWebAudioContext()
audioCtx.onstatechange = () => {
console.log(ctx.state)
}
setTimeout(audioCtx.suspend, 1000)
setTimeout(audioCtx.resume, 2000)