代码逻辑:小程序播放音乐,当按下录音按钮时,先调用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吗?希望给出建议。谢谢了。
麻烦更新到最新版6.5.22试试
请提供下复现代码
现在录音是必须联网么,我这边试了下,网络关闭的话无法开始录音
@黄思程,我的微信是自动升级的,现在应该还没有收到新版本推送。请问6.5.22 和6.5.21相比是升级了小程序的基础库吗?有针对录音的fix吗?
谢谢。
找到一个衍生的问题的帖子:
https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=bd4dd5772fe9e9f73101065e2c283232&highline=startRecord&token=69469134&lang=zh_CN
@黄思程,我已经更改了问题的描述。多谢。
你好,直接暂停没有延时。是这样的,我在startRecord之前会先pause当前的音乐,但是startRecord在iOS真机上通常会有2秒左右的卡顿 (这个可能是主要原因),由于这两秒的卡顿,导致pause不会先执行。所以问题应该是wx.startRecord在iOS上有问题?
请问小程序方有知道wx.startRecord开始录音卡顿这个问题吗?iOS开始录音需要等待2-3秒才会在顶部“录音中...”,录音才会真正开始。在Android上面录音是立刻能开始的。