JLChen
2021-04-02 65150ff832383e25f31d20837ad97f77d2338979
On+/xamarin/ESVideoOnXamarin/ESVideoOnXamarin/ESOnIntercomViewController.m
@@ -11,7 +11,7 @@
#import <AVFoundation/AVFoundation.h>
#import <ESVideoPhoneSDk/ESVideoPhone.h>
#import <ESVideoPhoneSDk/ESError.h>
#import "AudioSessionHelper.h"
//#import "AudioSessionHelper.h"
#import <Photos/Photos.h>
#import <AudioToolbox/AudioToolbox.h>
#import "ESVideo.h"
@@ -20,7 +20,7 @@
@interface ESOnIntercomViewController ()<ESVideoPhoneDelegate>
@property (nonatomic,strong) AudioSessionHelper    *sessionHelper;
//@property (nonatomic,strong) AudioSessionHelper    *sessionHelper;
@property (nonatomic,strong) ESVideoPhone          *es;
@property (nonatomic,assign) BOOL                  playing;
@property (nonatomic,assign) BOOL                  isInterrupt;
@@ -61,6 +61,7 @@
    BOOL isBackGround;
    BOOL iSVideoNotDetermined;
    BOOL iSAudioNotDetermined;
    BOOL isAnswer;//是否已经点击接听过了
    
    NSString * tipStr;
    NSString * okStr;
@@ -301,6 +302,17 @@
//挂断按钮事件
-(void)hangUpAction{
    //1.回调事件
    if(self.mESCallDelegate != NULL){
        if(isAnswer){
            //如果之前已经接听了,回调是挂断
            [self.mESCallDelegate onHangUpAction:_callTimeout];
        }else{
            //如果之前没接听了,回调是拒接
            [self.mESCallDelegate onRejectCallAction];
        }
    }
    //2.页面关闭
    [self backAction];
}
@@ -352,6 +364,11 @@
    //开始计时
    _callTimeout = 0;
    [self startCountdown];
    isAnswer = YES;
    if(self.mESCallDelegate != NULL){
        [self.mESCallDelegate onAnswerAction];
    }
    
}
@@ -488,8 +505,10 @@
    _openDoorTimeout = 0;
    [self startOpenDoorCountdown];
    [self showUIAlertView:unlockSuccessfullyStr];
    // 开锁成功回调
    if(self.mESCallDelegate != NULL){
        [self.mESCallDelegate onUnlockAction];
    }
}
-(void)setUnlock:(BOOL)ISEnable{
@@ -590,9 +609,9 @@
//            NSLog(@"VideoCaptureSession 初始化失败");
//        }
//    }
    //初始化AudioSession
    _sessionHelper = [[AudioSessionHelper alloc]init];
    [_sessionHelper setAudioSession];
//    //初始化AudioSession
//    _sessionHelper = [[AudioSessionHelper alloc]init];
//    [_sessionHelper setAudioSession];
    //添加进入后台,中断等通知
    [self addObservers];
    
@@ -800,7 +819,7 @@
    // If media services were reset, and the last start succeeded, restart the session.
    if (error.code == AVErrorMediaServicesWereReset) {
        [_es onStopCapture];
        [_es startTalk];
        [_es stopTalk];
    }
}
@@ -914,13 +933,16 @@
    NSString *result = nil;
    //听筒状态 插耳塞后拔掉后恢复到默认设置
    if (sender == nil) {
        result = [_sessionHelper speaker:NO];
//        result = [_sessionHelper speaker:NO];
        [_es resetAudioCaptureIsSpeak:NO];
    }else{
        if(!_isSpeaking){
            result = [_sessionHelper speaker:YES];
            [_es resetAudioCaptureIsSpeak:YES];
//            result = [_sessionHelper speaker:YES];
            _isSpeaking = YES;
        }else{
            result = [_sessionHelper speaker:NO];
//            result = [_sessionHelper speaker:NO];
            [_es resetAudioCaptureIsSpeak:NO];
            _isSpeaking = NO;
        }
    }
@@ -1110,6 +1132,10 @@
    NSString *message = nil;
    if (!error) {
        message = saveToTheAlbumsStr;
        // 截图成功回调
        if(self.mESCallDelegate != NULL){
            [self.mESCallDelegate onScreenshotSuccessfulAction:image];
        }
    }
    else
    {