收藏
回答

录音 onFrameRecorded 的回调数据没有详细说明

问题模块
API和组件

基础库版本:1.6.4

测试手机:iPhone 5s、iPhone 6s plus(均为 iOS 11.1)


运行 RecorderManager 的示例程序,并直接输出 onFrameRecorded 回调的数据,结果 frameBuffer 为 null。还尝试了将 frameBuffer 转换成 base64 和十六进制,但不知道数据的格式。


recorderManager.onFrameRecorded(function (cb) {
    console.log(cb) // 有 frameBuffer 和 isLastFrame 两个属性
    console.log(cb.frameBuffer) // -> null
 
    // base64 -> //v1ZAAD+YSCw8Nv …
    const base64 = wx.arrayBufferToBase64(frameBuffer)
 
    // hex -> fffbe2640000f9e2 …

    const hex = Array.prototype.map.call(new Uint8Array(frameBuffer), x => ('00' + x.toString(16)).slice(-2)).join('');

})


能够实时获取麦克风的 raw data 是语音处理的第一步,所以想问现在是否有办法正确解码,或者后续会开放?目前我将录音的 mp3 文件上传到服务器是能正常播放的,但是这样做不到实时处理。


也有一些相似的问题:###


最后一次编辑于  2017-11-10  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

4 个回答

  • 文娟
    文娟
    2018-01-25

    我也有类似的问题,请问您找到解决方法了吗?

    2018-01-25
    赞同
    回复
  • Lan.Bing.CzYan.Cn
    Lan.Bing.CzYan.Cn
    2018-04-28

    嗯,刚找到点资料,https://blog.csdn.net/xsjm206/article/details/6719958

    这里返回的全都是数据帧,

    2018-04-28
    赞同
    回复 1
    • 尛矗
      尛矗
      2018-06-07

      所以直接从第5个字节开始读取是吗

      2018-06-07
      赞同
      回复
  • Yann👓
    Yann👓
    2018-11-20

    有解决办法吗?

    2018-11-20
    赞同
    回复