응용 프로그램이 백그라운드로 돌아간 다음 음악 플레이어, 음악 플레이어를 엽니 다 녹음을 눌러 홈 버튼을 호출 할 때 최근에 나는, 코코스 응용 프로그램에 오히려 이상한 버그를 발견, 게임은 다시 붙어 게임에 갈 것입니다.
녹음 및 재생 설정은 다음과 같습니다 전 :
재생 :
[AVAudioSession sharedInstance] setCategory : AVAudioSessionCategoryPlayback의 withOptions : AVAudioSessionCategoryOptionMixWithOthers 오류 : 닐];
녹음 :
[세션 setCategory : AVAudioSessionCategoryPlayAndRecord의 withOptions : AVAudioSessionCategoryOptionDefaultToSpeaker 오류 : 닐];
정상으로 돌아 가기
[AVAudioSession sharedInstance] setCategory : AVAudioSessionCategoryAmbient 오류 : 닐];
개인의 생각 :
아이폰 OS 시스템에 대한 하드웨어 리소스와 같은 오디오 출력이 유일하다.
음악 플레이어, 플레이어는 게임의 하드웨어 자원을 차지합니다. 붙어 게임의 원인이됩니다.
코코스는 오류 로그도이 점을 확인 돌파
로그:
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 是为了设置扬声器播放,原因:切换成录音状态时会改为听筒播放