收藏
回答

iOS上wx.startRecord开始录音卡顿问题

问题模块
API和组件


代码逻辑:小程序播放音乐,当按下录音按钮时,先调用BackgroundAudioManager.pause()接口暂停音乐,然后调用wx.startRecord API开始录音。


问题: 由于iOS上startRecord被调用时,录音会出现卡顿(1-3秒后才会真正开始录音,顶部显示“录音中...”),这个卡顿会导致本该先pause的音乐被延迟1-3秒才真正暂停 (从调用pause的时间戳到 播放器 onPause被调用的时间戳,相隔1-3秒),并且这个问题不稳定重现,约有一半的概率,pause是会立刻执行的。一半的概率会出现大延时。


预期的行为:1. pause先被调用,预计应该在50ms之内就成功pause的,而不会受record的影响。2. wx.startRecord在iOS上,不应该出现卡顿现象 (Android上面的录音开始非常快)



手机为iOS 11,微信版本为:6.5.21.


请问这是一个bug吗?希望给出建议。谢谢了。



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

6 个回答

  • 黄思程
    黄思程
    2017-11-16

    麻烦更新到最新版6.5.22试试

    2017-11-16
    赞同
    回复
  • 黄思程
    黄思程
    2017-11-15

    请提供下复现代码

    2017-11-15
    赞同
    回复 1
    • rain
      rain
      01-15

      现在录音是必须联网么,我这边试了下,网络关闭的话无法开始录音

      01-15
      回复
  • Lee
    Lee
    2017-11-16

    @黄思程,我的微信是自动升级的,现在应该还没有收到新版本推送。请问6.5.22 和6.5.21相比是升级了小程序的基础库吗?有针对录音的fix吗?


    谢谢。

    2017-11-16
    赞同
    回复
  • Lee
    Lee
    2017-11-16

    找到一个衍生的问题的帖子:

    https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=bd4dd5772fe9e9f73101065e2c283232&highline=startRecord&token=69469134&lang=zh_CN


    2017-11-16
    赞同
    回复
  • Lee
    Lee
    2017-11-16

    @黄思程,我已经更改了问题的描述。多谢。

    2017-11-16
    赞同
    回复
  • Lee
    Lee
    2017-11-16

    你好,直接暂停没有延时。是这样的,我在startRecord之前会先pause当前的音乐,但是startRecord在iOS真机上通常会有2秒左右的卡顿 (这个可能是主要原因),由于这两秒的卡顿,导致pause不会先执行。所以问题应该是wx.startRecord在iOS上有问题?


    请问小程序方有知道wx.startRecord开始录音卡顿这个问题吗?iOS开始录音需要等待2-3秒才会在顶部“录音中...”,录音才会真正开始。在Android上面录音是立刻能开始的。


    2017-11-16
    赞同
    回复