收藏
回答

decodeAudioData传入onFrameRecorded回调中的frameBuffer无效

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug decodeAudioData 微信安卓客户端 8.0.30 2.28.1

这里是代码,下面是报错,

请问通过小程序录音获取到的分片数据ArrayBuffer可以被decodeAudioData这个方法解析成AudioBuffer吗,如果不可以的话那用何种方式可以解析?

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

6 个回答

  • 社区技术运营专员--阳光
    社区技术运营专员--阳光
    2022-12-21

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2022-12-21
    有用
    回复 3
    • Seven
      Seven
      2023-03-09
      请问这个问题有解决嘛?
      2023-03-09
      1
      回复
    • 慢慢来哈
      慢慢来哈
      2023-09-11
      onFrameRecorded回调在format为wav时无法触发,其他格式可以触发,请问下这个问题什么时间可以解决
      2023-09-11
      回复
    • 慢慢来哈
      慢慢来哈
      2023-09-11
      电脑端可以手机端不行
      2023-09-11
      回复
  • 我的假名和头像
    我的假名和头像
    09-14

    录制的时 start 方法内 format 需要传 mp3 格式, onFrameRecorded 才会被触发,手机上测试可以,我测试成功了,电脑端开发工具是不行的。

    我猜你和我一样是想做音频可视化,但太卡了,换 方案吧,毕竟不是 web ,小程序内你拿到数据后需要 setData到渲染进程这通信量太卡了


    09-14
    有用
    回复
  • M
    M
    2023-10-26

    decodeAudioData 在wav不会触发,PCM会导致data error的错误,不能被decodeAudioData解析,没法在实时录音(PCM格式)的时候做音频曲线操作。

    wx.getRecorderManager().onFrameRecorded((res) => {
        if (res.isLastFrame) {
          console.log('record done')
        }
        if (recordConfig.st && recordConfig.stStart) {
          recordConfig.st.sendAudio(res.frameBuffer)
          // 这里wav不会执行到,pcm直接报错
          audioCtx.decodeAudioData(
            res.frameBuffer,
            (buffer) => {
              console.log('buffer', buffer)
            },
            (err) => {
              console.error('decodeAudioData fail', err)
            }
          )
        }
      })
    


    2023-10-26
    有用
    回复
  • Seven
    Seven
    2023-03-09

    请问解决了吗?遇到同样的问题

    2023-03-09
    有用
    回复 1
  • 会飞的乌龟哥哥
    会飞的乌龟哥哥
    2023-03-09

    请问你解决了吗

    2023-03-09
    有用
    回复
  • 莫违
    莫违
    2023-03-03

    我也遇到了“decodeAudioData”抛出"data error"的错误,在开发工具上可以正常运行,但是真机模拟就会报"data error"的错,通过排查发现音频格式为mp3时候就会报错,可以通过改一下音频格式来解决。

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