chenqiyang
2022-05-11 7960485054f37eb60d63a98231686cef41302a8b
HDLLinPhoneSDK/HDLLinPhoneSDK/HDLLinphoneIntercomVC.m
@@ -67,7 +67,7 @@
    [self initCentetView];
    [self initData];
    [self initESVideo];
    //开始反呼
    //开始震动
    [self StartReverseCall];
    [self ShowCalltimeBtn:callingStr];
    //注册开锁成功监听
@@ -77,8 +77,22 @@
        self.titleUILabel.text=self.titleName;
    }
//    self.titleUILabel.text=self.titleName;
    [NSNotificationCenter.defaultCenter addObserver:self
                                           selector:@selector(registrationUpdate:)
                                               name:@"LinphoneRegistrationUpdate"
                                             object:nil];
}
- (void)registrationUpdate:(NSNotification *)notif {
    int state = [[notif.userInfo objectForKey:@"state"] intValue];
    if(state==11){//挂断了
        NSLog(@"挂断或出错了");
        [self showUIAlertViewWithBack:@"通话结束"];
    }
}
-(void)initLlanguage{
    NSString *languageName = [[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] objectAtIndex:0];
@@ -238,6 +252,7 @@
    [_screenshotImgBtn setImage:[UIImage imageNamed:@"ic_esvideo_on_takephoto_unselect"] forState:UIControlStateNormal];
    
    //截图
    [HDLLinphoneManager.instance snapShotWithView:self.videoView];
    
}
@@ -332,7 +347,7 @@
//    [[HDLCallManager instance] acceptCallByCallID:self.CallId hasVideo:self.hasVideo];
    [[HDLLinphoneManager instance] acceptCall];
    /// 开启对讲
    [self startTalk];
//    [self startTalk];
    
    _answerImgBtn.hidden = YES;
    _answerTextBtn.hidden = YES;
@@ -505,7 +520,7 @@
/** 开启倒计时 */
- (void)startOpenDoorCountdown {
    
    if (_openDoorTimeout > 20) {
    if (_openDoorTimeout > 10) {
        return;
    }
    
@@ -520,7 +535,7 @@
    
    dispatch_source_set_event_handler(_openDoorTimer, ^{
        WEAKSELF_AT
        if(weakSelf_AT.openDoorTimeout >= 20 ){// 计时结束
        if(weakSelf_AT.openDoorTimeout >= 10 ){// 计时结束
            // 关闭定时器
            dispatch_source_cancel(weakSelf_AT.openDoorTimer);
            
@@ -629,6 +644,7 @@
}
-(void)viewWillDisappear:(BOOL)animated{
    NSLog(@"viewWillDisappear");
    [super viewWillDisappear:animated];
    [self stopPlaySystemSound];
    //防止用户不按挂断,或者不等收到对方的挂断,点击返回按钮。
@@ -646,6 +662,8 @@
        _countdownTimer = nil; // OK
        
    }
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    
}
@@ -711,7 +729,7 @@
#pragma 震动实现貌似和SDK冲突 不能实现震动
//开始播放的时候调用
-(void)startPlaySystemSound{
    return;
//    return;
    //    //震动的提示文件名放到资源目录下
    //    NSString *path = [[NSBundle mainBundle] pathForResource:@"ring" ofType:@"wav"];
    //    AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:path], &sound);
@@ -724,13 +742,13 @@
//手动停止播放的时候调用
- (void)stopPlaySystemSound{
    return;
//    return;
    NSLog(@"stop PlaySystemSound");
    stopRingAndVibration();
    HDLLPStopRingAndVibration();
}
//停止响铃和震动,移除回调并处理掉铃声和震动
void stopRingAndVibration() {
void HDLLPStopRingAndVibration() {
    AudioServicesRemoveSystemSoundCompletion(kSystemSoundID_Vibrate);
    //    AudioServicesRemoveSystemSoundCompletion(sound);
    AudioServicesDisposeSystemSoundID(kSystemSoundID_Vibrate);