最近、私は、バックグラウンドに戻るにはホームボタンを押して、アプリケーションが記録を呼び出されるココスアプリケーションではなく、奇妙なバグを発見して、音楽プレーヤー、音楽プレーヤーを開き、ゲームが戻って立ち往生ゲームに移動します。
録音と再生の設定の前に、以下のとおりです。
再生:
[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionMixWithOthers誤差:ゼロ]。
録音:
【セッションsetCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker誤差:ゼロ]。
正常に戻ります
[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient誤差:ゼロ]。
個人の考え:
iOSのシステムのハードウェアリソースなどのオーディオ出力はユニークです。
音楽プレーヤーは、プレイヤーがゲームのハードウェアリソースを占有します。立ち往生ゲームを引き起こします。
ココスはエラーログにもこの点を確認破りました
ログ:
D / AudioEngine-inl.mm(198):オーディオセッションがまだ中断され、一時停止ディレクター!
お問い合わせ後、特別な感謝https://www.jianshu.com/p/3e0a399380df
APPは、ミックスの中断をサポートしていない原因です。
変更バックセット
再生:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker|AVAudioSessionCategoryOptionMixWithOthers error:nil];
录音:
[session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers|AVAudioSessionCategoryOptionDefaultToSpeaker error:nil];
恢复正常:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategorySoloAmbient withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker|AVAudioSessionCategoryOptionMixWithOthers error:nil];
问题解决。
AVAudioSessionCategoryOptionDefaultToSpeaker 是为了设置扬声器播放,原因:切换成录音状态时会改为听筒播放