收藏
回答

关于小程序录音接口onFrameRecorded的问题请教

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 需求 onFrameRecorded 客户端 iOS 6.6.7 1.2.0

请问小程序录音接口中的回调函数onFrameRecorded所返回的分片数据是什么数据,原始码流吗,带不带头部?我的是使用aac格式的,谢谢!


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

6 个回答

  • ff
    ff
    03-28

    这个破问题一直在没人回答吗


    03-28
    有用
    回复
  • A  我真不会挖洞
    A 我真不会挖洞
    2023-07-07

    我的参数是这个,最终得到的会是原始pcm数据吗

    recorderManager.start({
          format"PCM",
          duration600000,
          numberOfChannels1,
          sampleRate48000,
          encodeBitRate320000 ,
          frameSize36
        });
    
    2023-07-07
    有用
    回复
  • 啦啦啦
    啦啦啦
    2018-07-30

    楼主问一下你的二进制数据是在哪里查看的,就是这些东西00 d0 00 07 00 d0 40 07

    2018-07-30
    有用
    回复 1
    • Gates💯
      Gates💯
      2018-08-02

      不用管是什么了,就是aac裸流

      2018-08-02
      回复
  • Yongfeng
    Yongfeng
    2018-07-17

    请问有结论了吗?

    这个靠开发者猜恐怕不好把!

    2018-07-17
    有用
    回复 2
    • Gates💯
      Gates💯
      2018-08-02

      已经解决了,就是裸流

      2018-08-02
      回复
    • 弥生
      弥生
      2019-09-11回复Gates💯
      您好,您说这个aac格式说是裸流,是已经打包成ADTS帧,还是打包之前的数据呢?有需要处理下但是不是特别了解,希望指导一下
      2019-09-11
      回复
  • Gates💯
    Gates💯
    2018-06-26


    const recorderManager = wx.getRecorderManager()
     
    recorderManager.onStart(() => {
      console.log('recorder start')
    })
    recorderManager.onPause(() => {
      console.log('recorder pause')
    })
    recorderManager.onStop((res) => {
      console.log('recorder stop', res)
      const { tempFilePath } = res
    })
    recorderManager.onFrameRecorded((res) => {
      const { frameBuffer } = res
      console.log('frameBuffer.byteLength', frameBuffer.byteLength)
    })
     
    const options = {
      duration: 10000,
      sampleRate: 44100,
      numberOfChannels: 1,
      encodeBitRate: 192000,
      format: 'aac',
      frameSize: 50
    }
     
    recorderManager.start(options)
    //这里的分片究竟是什么数据?AAC裸流吗?
    //还有我保存下来之后查看二进制数据,发现每次开头都是一样的
    //00 d0 00 07 00 d0 40 07,不知道是什么意思
    recorderManager.onFrameRecorded((res) => {
      const { frameBuffer } = res
      console.log('frameBuffer.byteLength', frameBuffer.byteLength)
    })


    2018-06-26
    有用
    回复
  • 漠北
    漠北
    2018-06-26

    这个东西在哪调用的,怎么调的楼主告诉一下吧

    2018-06-26
    有用
    回复 1
    • Gates💯
      Gates💯
      2018-06-26

      我使用的是官方示例代码,已经贴出来了

      2018-06-26
      回复
登录 后发表内容