iOS上wx.startRecord开始录音卡顿问题
发布于 6 年前 作者 wliao 3026 次浏览 来自 问答

代码逻辑:小程序播放音乐,当按下录音按钮时,先调用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 回复

请提供下复现代码

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

麻烦更新到最新版6.5.22试试

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

谢谢。

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

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

回到顶部