参考:http://blog.csdn.net/xy5811/article/details/8563137 致谢!
在判断来电状态的方法里,当收到来电的状态时,设置一下,使其它APP的后台播放为静音:
caseLinphoneCallIncomingReceived:
{
//NSDate *start = [NSDate date];
//NSTimeInterval start = [timeStart timeIntervalSince1970] * 1000;
//self.timeStart = [start timeIntervalSince1970] * 1000;
// CallRecordsModel *model = [[CallRecordsModel alloc]init];
//model.callDateTimeInterval = self.timeStart;
//来电中止其它APP播放声音
NSError *setCategoryError =nil;
BOOL success = [[AVAudioSessionsharedInstance]
setCategory:AVAudioSessionCategorySoloAmbient
error: &setCategoryError];
if (!success) {
UIAlertView *alert = [[UIAlertViewalloc]initWithTitle:@"来电话啦~"message:@"暂停播放器"delegate:nilcancelButtonTitle:@"OK!"otherButtonTitles:nil];
}
[selfdisplayIncomingCall:call];
break;
}
.........
电话挂断后,再设置恢复:
caseLinphoneCallEnd:
{
//挂断电话后恢复播放APP
NSError *error =nil;
AVAudioSession *audioSession = [AVAudioSessionsharedInstance];
BOOL ret = [audioSessionsetActive:YESerror:&error];
if (!ret)
{
NSLog(@"%s - activate audio session failed with error %@", __func__,[errordescription]);
}