录音 onFrameRecorded 的回调数据没有详细说明
发布于 6 年前 作者 xiafu 11763 次浏览 来自 问答

基础库版本: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 文件上传到服务器是能正常播放的,但是这样做不到实时处理。

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

3 回复

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

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

有解决办法吗?

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

回到顶部