收藏
回答

如何检测录音时,声音是否有中断的情况

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小游戏 需求 wx.getRecorderManager() 客户端 6.7.0 2.0.4

- 需求的场景描述(希望解决的问题)

需求场景是用户点击按钮开始录音,期间用户发声不能中断,需要检测出当用户发声中断时录音也停止。

- 希望提供的能力

能否提供录音时的输入检测事件?或者有其他解决方案?

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

2 个回答

  • Special
    Special
    2018-07-12
    1. 本地用 JS 实现一个音频解码器,将 onFrameRecorded 返回的 ArrayBuffer 解出来,检测

    2. onFrameRecorded 返回的 ArrayBuffer 上传到后台检测

    2018-07-12
    有用
    回复 2
    • levi
      levi
      2018-07-14

      追问,按官方API写了代码,目前能录音,但发现无法触发方法

      recorderManager.onFrameRecorded((res) => {

              var audioData = res.frameBuffer;

              console.log("event onFrameRecorded"+res.frameBuffer);

          });

      录音机的参数如下:

      const options = {

      duration: 10000,//指定录音的时长,单位 ms

      sampleRate: 16000,//采样率

      numberOfChannels: 1,//录音通道数

      encodeBitRate: 96000,//编码码率

      format: 'mp3',//音频格式,有效值 aac/mp3

      frameSize: 5//指定帧大小,单位 KB

      };

      在微信ide开发里没有触发recorderManager.onFrameRecorded


      2018-07-14
      回复
    • levi
      levi
      2018-07-14回复levi

      问题已解决,必须发布上去,在手机上测试才能触发方法

      2018-07-14
      回复
  • levi
    levi
    2018-07-12

    好的,多谢,javascript解码貌似这块资料很少,我找找看

    2018-07-12
    有用
    回复
登录 后发表内容