- 需求的场景描述(希望解决的问题)
在使用录音管理 getRecorderManager 时,因现在 format 只支持(aac/mp3),我们的小程序在使用 onFrameRecorded 获取 arraybuffer 的时候要对音频流进行处理,所以要用到 PCM 原始音频数据,但小程序只支持 ACC 和 MP3 这两种格式。
我们只能通过 MP3 解码的方式来得到 PCM 原始音频数据,但是这个过程,因为与浏览器不同没有提供相应的API,就只能自己使用 JavaScript 来实现 MP3 解码的动作。
当我们实现了使用 JavaScript 解码的时候,发现使用 JavaScript 版本的 MP3 解码 PCM 的速度慢于接收音频流的速度。这样就没办法在跑接下来的业务代码了。
- 希望提供 PCM 原始音频数据
在 onFrameRecorded 中的 format 提供 pcm 音频格式选项
- 测试数据,基于 iPhone 6s MP3 arraybuffer 解码 PCM
楼主好,请问小程序本身的buffer,就是8位采样的mp3原始数据吗?
强烈建议得到pcm 格式数据
强烈建议得到pcm 格式数据
能获取到pcm脉冲,但是感觉数据不太对
同求pcm
支持加入pcm
非常同意,需要对音频进行处理,请 getRecorderManager 提供 format 可选 pcm 格式,谢谢~
mp3转成pcm的代码方便分享一下吗,我想用作计算声音的分贝值
mp3 decoder
希望对你有帮助
非常感谢,我看一下
请问您现在能获取到分贝了么
你好,为啥我调用newDecoder一直返回null
recorderManager.onFrameRecorded((res) => {
let
{ frameBuffer } = res
// MP3 decode PCM
let
decoder = Mp3.newDecoder(frameBuffer)
let
pcmArrayBuffer = decoder.decode()
})
小程序录音实时波形图
https://developers.weixin.qq.com/community/develop/article/doc/000e4c3761c2b81ce80e6babe5b413
你好,我调用newDecoder返回null,您使用的“采样率、编码码率、帧大小”分别是多少?