cocos creator录音之后cc.audioEngine.play()失效
这个问题排查了好久,甚至采用原生播放音频的方式上线了一段时间(这种方案不推荐)
我的解决方法是开始录音的时候执行这一句代码:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
完成收工
问题分析:
如果你自己的app在录音前后没有播放声音的话,就不会出现以上问题。
问题就出在自己的app在播放音效的时候,开始录音,录完之后恢复,出问题了。
我的app是在cocos2d游戏中进行录音。
从报的错误来看,就是在执行上面代码的时候,AVAudioSession没有停止,虽然在前面已经执行了[recoder stop],但是游戏中的AVAudioSession并没有停止。
解决办法
录音的时候并不需要去停止和恢复其他app的声音,在打开应用的时候就关闭了其他声音。只需要录完音恢复游戏的声音就可以。