代码片段
let recorder = wx.getRecorderManager()
const audioCtx = wx.createWebAudioContext()
const analyser = audioCtx.createAnalyser();
recorder.onFrameRecorded(listener => {
if (listener.isLastFrame) {
console.log('soundIntensity',0)
} else {
audioCtx.decodeAudioData(listener.frameBuffer, buffer => {
let source = audioCtx.createBufferSource()
source.buffer = buffer
source.connect(analyser)
source.start()
let n = new Uint8Array(analyser.frequencyBinCount)
analyser.getByteTimeDomainData(n)
let i = 0, r = 0, s = 0
r = Math.max.apply(null, n)
s = Math.min.apply(null, n)
i = (r - s) / 128
i = Math.round(i * 100 / 2)
i = i > 100 ? 100 : i
console.log('soundIntensity', listener.isLastFrame ? 0 : i)
}, err => {
console.error('decodeAudioData fail', err)
})
}
})
recorder.start({
duration: 1000,
sampleRate: 16000,
numberOfChannels: 1,
encodeBitRate: 96000,
format: 'mp3',
frameSize: 1
})
createWebAudioContext 这个api现在官网给的是不支持小程序
pcm格式的怎么弄哇
IOS 无法通过这个API 实时监听录音数据 这个有办法解决吗
无法解析实时音频数据
您好 我想问下我在真机上获取到的值一直为0 是什么原因呢