參考: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]);
}