收藏
回答

小程序本地录音数据怎么转成PCM或WAV进而进行数据分析

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 需求 录音组件 客户端 7.0.3 2.6.2 [232]

- 需求的场景描述(希望解决的问题)

录音数据本地分析。

另外想打印下buffer数据看看,下面语句只能得到长度,无法查看数据:

          RecorderManager.onFrameRecorded((res) => {

            const {frameBuffer} = res

            for (var i = 0; i < 100; i++) {

              console.log(frameBuffer[i])

            }

            console.log('frameBuffer.byteLength', frameBuffer.byteLength)

          })

- 希望提供的能力

1. 希望在无服务器模式下获取录音文件raw data进行音频分析,而当前组件只能拿到AAC,MP3格式。

2. 开发过程希望查看裸数据

回答关注问题邀请回答
收藏

2 个回答

  • 小程序/小游戏开发-Link
    小程序/小游戏开发-Link
    2019-03-14
    1. 后续会支持 WAV 格式

    2. vConsole 只支持打印可序列化的数据类型,不支持打印 ArrayBuffer,可将其转换成 Array 后打印输出

    console.log([...new Uint8Array(frameBuffer)])
    2019-03-14
    有用 1
    回复 8
    • 大土百川
      大土百川
      2019-03-14

      谢谢。

      关于本地获取音频Raw Data方面,有什么推荐方案绕过去?找第三方decoder?

      2019-03-14
      回复
    • 文科
      文科
      2019-10-21回复大土百川
      找到了对应的decoder了嘛?
      2019-10-21
      回复
    • 大土百川
      大土百川
      2019-10-21
      https://github.com/soundbus-technologies/js-mp3
      2019-10-21
      1
      回复
    • 文科
      文科
      2019-10-21回复大土百川
      你用这个可以成功转码吗?是在recorderManager.onFrameRecorded((res) => {})里面进行的操作么?
      2019-10-21
      回复
    • 大土百川
      大土百川
      2019-10-21
      不是每帧实时处理,是对最终mp3文件进行整体解码。
      2019-10-21
      回复
    查看更多(3)
  • 大土百川
    大土百川
    2019-03-14

    调试输出:

    100 undefined

    frameBuffer.byteLength 51277


    怎么看看这些buffer里的数据?


    2019-03-14
    有用
    回复
登录 后发表内容