解决sip来电时后台播放器暂时静音的效果

来源:互联网 发布:python lda 主题模型 编辑:程序博客网 时间:2024/05/23 01:59

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

                }



}




0 0