在使用录音管理 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



展开全部
收起
4回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Ronan

    13人对此回答表示赞同

    主好,请问小程序本身的buffer,就是8位采样的mp3原始数据吗?

    展开
    13
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • guten元

    4人对此回答表示赞同

    mp3转成pcm的代码方便分享一下吗,我想用作计算声音的分贝值

    展开
    4
    11回复
    发布于 5年前

    评论(11)

    收起评论

    • 余生 2019-01-12 10:49

      采样率16k会失败,把采样率调成44100可以成功,但是我正好需要16k采样率,所以只能弃用

      回复
    • 邱世承 2019-01-14 17:49

      没有,现在改用后端nodejs转换

      回复
    • Allison 2019-01-16 16:40

      你后来解决decode是null的问题了吗

      回复
    • 榛子 2019-01-18 18:47

      请问你是如何引入`js-mp3`的?

      回复
    • Benjamin 2019-01-20 15:49

      大佬我用那个MP3取出的是一个ArrayBuffer然后呢?怎么解析出分贝什么的??

      回复
    • 吴静怡 2019-01-22 08:24

      我就是这么写的。

      回复
    • 柠檬蛋挞 2019-01-24 12:43


      回复
    • Peyton 2019-01-26 16:23

      你好,为啥我调用newDecoder一直返回null

      回复
    • 马克Mak 2019-01-28 18:35

      请问您现在能获取到分贝了么

      回复
    • Christopher 2019-01-30 15:24

      非常感谢,我看一下

      回复
    • Bellrrrrr 2019-02-01 10:01

      mp3decoder

      回复
    加载更多
  • 钱可为

    3人对此回答表示赞同

    非常同意,需要对音频进行处理,请getRecorderManager提供format可选pcm格式,谢谢~

    展开
    3
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 断桥残雪

    1人对此回答表示赞同

    支持加入pcm

    展开
    1
    0回复
    发布于 5年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部