收藏
回答

录音实时流上传怎么实现?

//开始录音的时候

start: function () {

this.setData({

sayimg: '',//图片样式

anmationShow: true,

})

//开始录音

wx.showLoading({

title: '录音中',

mask: true

})

recorderManager.start(options);

recorderManager.onStart(() => {

console.log('recorder start')

});

//错误回调

recorderManager.onError((res) => {

console.log(res);

})


recorderManager.onFrameRecorded((res) => {

const { frameBuffer } = res

console.log('frameBuffer', frameBuffer)

sendSocketMessage(frameBuffer)

})

let socketOpen = false

const socketMsgQueue = []

wx.connectSocket({

url: 'wss://地址'

})

wx.onSocketOpen(function (res) {

socketOpen = true

})

function sendSocketMessage(msg) {

console.log(msg)

if (socketOpen) {

wx.sendSocketMessage({

data: msg

})

} else {

socketMsgQueue.push(msg)

}

console.log(msg)

}

wx.onSocketError(function(res){

console.log('WebSocket连接打开失败')

})

wx.onSocketMessage(function (res) {

console.log('收到服务器内容' + JSON.stringify(res))

})

},

//停止录音

stop: function () {

wx.hideLoading();

this.setData({

sayimg: '',

anmationShow: false,

})

var that = this;

recorderManager.stop();

recorderManager.onStop((res) => {

that.tempFilePath = res.tempFilePath;

console.log('recorder end')

console.log('停止录音', res.tempFilePath)

const { tempFilePath } = res;

})

},


最后一次编辑于  11-25
回答关注问题邀请回答
收藏

1 个回答

  • Why not?
    Why not?
    11-25

    你代码都贴出来了,是有什么问题?

    11-25
    赞同
    回复 7
    • 我不吃我不饿
      我不吃我不饿
      11-25
      设置的frameSizi为1 上传的帧数不同 然后我只获取到了后台返回一次的结果
      11-25
      回复
    • Why not?
      Why not?
      11-25回复我不吃我不饿
      那后台收到几次数据?
      11-25
      回复
    • 我不吃我不饿
      我不吃我不饿
      11-25回复Why not?
      一次 我写的有啥问题吗 我让后台看看咋回事
      11-25
      回复
    • Why not?
      Why not?
      11-25回复我不吃我不饿
      看不出来,你多录一会看看?
      11-25
      回复
    • 我不吃我不饿
      我不吃我不饿
      11-25回复Why not?
      只有最后收到内容呢
      11-25
      回复
    查看更多(2)
问题标签