From cb9232b3ab413fae7bcc2b94abd70f18ca02b263 Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期二, 03 十二月 2024 11:20:32 +0800 Subject: [PATCH] 增加铃声;增加TCP/UDP连接选择 --- HDLLinPhoneSDK(OC)/HDLLinPhoneSDK/HDLLinPhoneSDK.m | 95 +++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 90 insertions(+), 5 deletions(-) diff --git "a/HDLLinPhoneSDK\357\274\210OC\357\274\211/HDLLinPhoneSDK/HDLLinPhoneSDK.m" "b/HDLLinPhoneSDK\357\274\210OC\357\274\211/HDLLinPhoneSDK/HDLLinPhoneSDK.m" index b0c8eed..e6f7446 100644 --- "a/HDLLinPhoneSDK\357\274\210OC\357\274\211/HDLLinPhoneSDK/HDLLinPhoneSDK.m" +++ "b/HDLLinPhoneSDK\357\274\210OC\357\274\211/HDLLinPhoneSDK/HDLLinPhoneSDK.m" @@ -43,8 +43,15 @@ } -(void)login:(NSString*)username password:(NSString*)pwd domain:(NSString*) domain{ - NSLog(@"sipDomain:%@",domain); [HDLLinphoneManager.instance login:username password:pwd domain:domain]; +} + +-(void)tcpLogin:(NSString*)username password:(NSString*)pwd domain:(NSString*) domain { + [HDLLinphoneManager.instance tcpLogin:username password:pwd domain:domain ]; +} + +-(void)udpLogin:(NSString*)username password:(NSString*)pwd domain:(NSString*) domain { + [HDLLinphoneManager.instance udpLogin:username password:pwd domain:domain ]; } - (void)registrationUpdate:(NSNotification *)notif { @@ -101,12 +108,37 @@ vc.modalPresentationStyle = UIModalPresentationFullScreen; vc.userName=username; vc.titleName=title; + [HDLLinphoneManager instance].deviceType=HDLLPType_Default; + [HDLLinphoneManager instance].isResettingVideoEnable=NO; // self.CallVC=vc; [[HDLLinPhoneCommon topMostController] presentViewController:vc animated:YES completion:^{ }]; } + +/** +* 鍛煎彨锛堣嚜鐮斿彲瑙嗗璁诧級 +* +* @param username 鐢ㄦ埛璐﹀彿 +* @param title 椤甸潰鏍囬 +*/ +-(void)callHDLSRWithUserName:(NSString*)username title:(NSString *)title{ + HDLLPOnMonitorViewController *vc=[[HDLLPOnMonitorViewController alloc]init]; +// vc.CallId=callId; +// vc.hasVideo=YES; + vc.hdlLinphoneCallDelegate=self.hdlLinphoneCallDelegate; + vc.modalPresentationStyle = UIModalPresentationFullScreen; + vc.userName=username; + vc.titleName=title; + [HDLLinphoneManager instance].deviceType=HDLLPType_HDLSR; + [HDLLinphoneManager instance].isResettingVideoEnable=NO; +// self.CallVC=vc; + [[HDLLinPhoneCommon topMostController] presentViewController:vc animated:YES completion:^{ + + }]; +} + /** * 璺宠浆鍛煎彨椤甸潰 * @@ -127,11 +159,11 @@ UIViewController *topVC=[HDLLinPhoneCommon topMostController]; if ([topVC isKindOfClass:[HDLLPOnMonitorViewController class]]) { [topVC dismissViewControllerAnimated:NO completion:^{ - [weakSelf toLinphoneIntercomVC:titleName]; + [weakSelf toLinphoneIntercomVC:titleName deviceType:HDLLPType_Default userName:@""]; }]; }else if ([topVC isKindOfClass:[HDLLinphoneIntercomVC class]]) { [topVC dismissViewControllerAnimated:NO completion:^{ - [weakSelf toLinphoneIntercomVC:titleName]; + [weakSelf toLinphoneIntercomVC:titleName deviceType:HDLLPType_Default userName:@""]; }]; } }]; @@ -143,7 +175,7 @@ return; } - [self toLinphoneIntercomVC:titleName]; + [self toLinphoneIntercomVC:titleName deviceType:HDLLPType_Default userName:@""]; // if (self.presentingIntercomVC) { // __weak typeof(self) weakSelf = self; @@ -171,7 +203,55 @@ // }]; } --(void)toLinphoneIntercomVC:(NSString*)titleName{ +/** +* 璺宠浆鑷爺鍛煎彨椤甸潰 +* +* @param titleName 鏍囬 +*/ +-(void)gotoHDLSRLinphoneIntercomVC:(NSString*)titleName userName:(NSString*)username{ + if ([HDLLinPhoneCommon rootPresentVCContent:[HDLLinphoneIntercomVC class]]||[HDLLinPhoneCommon rootPresentVCContent:[HDLLPOnMonitorViewController class]]) { + if ([[HDLLinPhoneCommon topMostController] isKindOfClass:[UIAlertController class]]) { + NSLog(@"椤跺眰瑙嗗浘鏄棰戦�氳瘽椤�"); + __weak typeof(self) weakSelf = self; + + [[HDLLinPhoneCommon topMostController] dismissViewControllerAnimated:NO completion:^{ + UIViewController *topVC=[HDLLinPhoneCommon topMostController]; + if ([topVC isKindOfClass:[HDLLPOnMonitorViewController class]]) { + [topVC dismissViewControllerAnimated:NO completion:^{ + [weakSelf toLinphoneIntercomVC:titleName deviceType:HDLLPType_HDLSR userName:username]; + }]; + }else if ([topVC isKindOfClass:[HDLLinphoneIntercomVC class]]) { + [topVC dismissViewControllerAnimated:NO completion:^{ + [weakSelf toLinphoneIntercomVC:titleName deviceType:HDLLPType_HDLSR userName:username]; + }]; + } + }]; + } + return; + } + + [self toLinphoneIntercomVC:titleName deviceType:HDLLPType_HDLSR userName:username]; +} + +-(void)hideIntercomeVC{ + if ([[HDLLinPhoneCommon topMostController] isKindOfClass:[HDLLinphoneIntercomVC class]]) { + [[HDLLinPhoneCommon topMostController] dismissViewControllerAnimated:YES completion:^{ + + }]; + } +} +/** + 鍙戦�乻ip message + */ +-(void)sendMessage:(NSString*)message sipAccount:(NSString*)sipAccount domain:(NSString*)domain{ + LinphoneAddress *tmpAddr = linphone_address_new([NSString stringWithFormat:@"sip:%@@%@",sipAccount,domain].UTF8String); + LinphoneChatRoom *chatRomm=linphone_core_get_chat_room([HDLLinphoneManager getLc], tmpAddr); + [[HDLLinphoneManager instance] send:message toChatRoom:chatRomm]; +} + + + +-(void)toLinphoneIntercomVC:(NSString*)titleName deviceType:(HDLLPType)deviceType userName:(NSString *)userName{ HDLLinphoneIntercomVC *vc=[[HDLLinphoneIntercomVC alloc]init]; // vc.CallId=callId; vc.hasVideo=YES; @@ -179,7 +259,12 @@ if (titleName) { vc.titleName=titleName; } + vc.deviceType=deviceType; + vc.userName=userName; vc.modalPresentationStyle = UIModalPresentationFullScreen; + + [HDLLinphoneManager instance].deviceType=deviceType; + [HDLLinphoneManager instance].isResettingVideoEnable=NO; // self.presentingIntercomVC=vc; [[HDLLinPhoneCommon topMostController] presentViewController:vc animated:YES completion:^{ -- Gitblit v1.8.0