我想通过扬声器播放一首歌,同时能够使用Quickblox接收视频通话。
我的音频率已经搞砸了。 而且更大的问题是当呼叫结束时quickblox框架将音频会话设置为停用状态。即 [Avaudiosession sharedInstance] setActive:NO ....
如何阻止这种情况发生?
或者是否有办法可以处理上述情况。??
我已经通过谷歌阅读了一个月了,仍然没有找到任何合适的答案或任何指导方针。 任何人都可以帮我解决这个问题/ ??
答案 0 :(得分:1)
首先,要允许AVAudioSession
与其他AVAudioSessions
合作,您需要在初始化时设置选项AVAudioSessionCategoryOptionMixWithOthers
:
NSError *sessionError = NULL;
BOOL success = [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback
withOptions:AVAudioSessionCategoryOptionMixWithOthers
error:&sessionError];
if(!success) {
NSLog(@"Error setting category Audio Session: %@", [sessionError localizedDescription]);
}
要处理中断(呼叫,警报等等),您应该设置一个观察员来中断NSNotificationCenter
的中断,以便您能够处理{{{1}的激活/停用1}}如有必要:
AVAudioSession
NSNotification将带有中断类型和密钥:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(handleAudioSessionInterruption:)
name:AVAudioSessionInterruptionNotification
object:[AVAudioSession sharedInstance]];