From dc9a1b15bb69227e19afc070adf58156a362d2a2 Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期一, 30 九月 2024 17:07:58 +0800 Subject: [PATCH] 安卓可视对讲响铃, --- HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs | 90 +++++++++++++++++++++++++++++++++++++++------ 1 files changed, 78 insertions(+), 12 deletions(-) diff --git a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs index 1164faa..b8c70e9 100644 --- a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs +++ b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs @@ -127,7 +127,17 @@ //鐧诲綍sip鏈嶅姟鍣� #if __IOS__ - Shared.IOS.HDLLinphoneSDK.HDLLinPhoneSDK.Instance().Login(mHDLSipInfo.sipAccount, mHDLSipInfo.sipPasswd, mHDLSipInfo.realm,DB_ResidenceData.Instance.linphoneConnectType.ToString()); + string systemVersion = UIKit.UIDevice.CurrentDevice.SystemVersion; + System.Version currentVersion = new System.Version(systemVersion); + System.Version version17 = new System.Version(17, 0); + if (currentVersion.CompareTo(version17) > 0) + { + HDLLinPhoneSDK.Instance().Login(mHDLSipInfo.sipAccount, mHDLSipInfo.sipPasswd, mHDLSipInfo.realm, "udp"); + } + else + { + HDLLinPhoneSDK.Instance().Login(mHDLSipInfo.sipAccount, mHDLSipInfo.sipPasswd, mHDLSipInfo.realm, DB_ResidenceData.Instance.linphoneConnectType.ToString()); + } #else if (mInterphoneType == InterphoneType.FREEVIEW.ToString()) { @@ -513,9 +523,16 @@ /// 鏀跺埌鎺ㄩ�侊紝鍚庡垽鏂懠鍙綇瀹呮槸鍚︿负褰撳墠浣忓畢锛屼笉鏄殑璇濋噸鏂拌幏鍙朣IP璐﹀彿骞剁櫥褰� /// </summary> /// <param name="mESVideoInfo"></param> - public void ShowESVideoIntercom(ESVideoInfo mESVideoInfo,string mInterphoneType) + public void ShowESVideoIntercom(ESVideoInfo mESVideoInfo,string mInterphoneType, bool isNotificationGoing = false) { - if(this.mHDLCallVideoInfo != null) +#if __ANDROID__ + //isNotificationGoing鍙傛暟鏄笓闂ㄧ粰瀹夊崜浣跨敤鐨勶紝鍥犱负瀹夊崜鍦ㄥ悗闈㈢殑鏃跺�欏凡缁忓惎鍔ㄤ簡鎺ュ惉鐨勭晫闈簡锛屼粠閫氱煡鏍忚繘鏉ョ殑鏃跺�欙紝callid宸茬粡琚娇鐢ㄤ簡锛屾墍浠ヨ閲嶇疆鎺夎繖涓睘鎬� + if (isNotificationGoing) + { + this.mHDLCallVideoInfo.CallId = ""; + } +#endif + if (this.mHDLCallVideoInfo != null) { if(this.mHDLCallVideoInfo.CallId == mESVideoInfo.callId) { @@ -578,6 +595,7 @@ intent.PutExtra("lpTitleName", mHDLCallVideoInfo.DeviceName); intent.PutExtra("lpSipAccount", mHDLCallVideoInfo.DeviceSipAccount); } + MainPage.Log("鍚姩鑷爺鍙瀵硅鐣岄潰"); Shared.Application.Activity.StartActivity(intent); #endif } @@ -756,7 +774,14 @@ public void OnAnswerAction() { //showToast("鎺ュ惉"); - HDLLinphoneKit.Instance.SetMediaPlayerLooping(false); + try + { + HDLLinphoneKit.Instance.SetMediaPlayerLooping(false); + } + catch (Exception ex) + { + MainPage.Log("閾冨0鍏抽棴寮傚父:" + ex.StackTrace); + } hdlLinphone.HDLUpdateCallStatus(CallStatusType.RECEIVED, InterphoneType.HDL); } /// <summary> @@ -776,10 +801,23 @@ public void OnRejectCallAction() { //showToast("鎷掓帴"); - HDLLinphoneKit.Instance.SetMediaPlayerLooping(false); - hdlLinphone.HDLUpdateCallStatus(CallStatusType.REJECT, InterphoneType.HDL); + try + { + HDLLinphoneKit.Instance.SetMediaPlayerLooping(false); + } + catch (Exception ex) + { + MainPage.Log("閾冨0鍏抽棴寮傚父:" + ex.StackTrace); + } + try + { + hdlLinphone.HDLUpdateCallStatus(CallStatusType.REJECT, InterphoneType.HDL); + } + catch (Exception ex) + { + MainPage.Log("OnRejectCallAction寮傚父:" + ex.StackTrace); + } } - /// <summary> /// 鎴浘鎴愬姛浜嬩欢 /// </summary> @@ -812,15 +850,43 @@ /// </summary> public void OnCallAllRejection() { - HDLLinphoneKit.Instance.SetMediaPlayerLooping(false); - hdlLinphone.HDLUpdateCallStatus(CallStatusType.REJECT, InterphoneType.HDL); - hdlLinphone.HDLRejectCallIn(); + try + { + HDLLinphoneKit.Instance.SetMediaPlayerLooping(false); + } + catch (Exception ex) + { + MainPage.Log("閾冨0鍏抽棴寮傚父:" + ex.StackTrace); + } + try + { + hdlLinphone.HDLUpdateCallStatus(CallStatusType.REJECT, InterphoneType.HDL); + hdlLinphone.HDLRejectCallIn(); + } + catch (Exception ex) + { + MainPage.Log("鍏ㄩ儴鎸傛柇寮傚父:" + ex.StackTrace); + } } public void OnMissedCallsAction() { - HDLLinphoneKit.Instance.SetMediaPlayerLooping(false); - hdlLinphone.HDLUpdateCallStatus(CallStatusType.MISSED, InterphoneType.HDL); + try + { + HDLLinphoneKit.Instance.SetMediaPlayerLooping(false); + } + catch (Exception ex) + { + MainPage.Log("閾冨0鍏抽棴寮傚父:" + ex.StackTrace); + } + try + { + hdlLinphone.HDLUpdateCallStatus(CallStatusType.MISSED, InterphoneType.HDL); + } + catch (Exception ex) + { + MainPage.Log("OnMissedCallsAction寮傚父:" + ex.StackTrace); + } } } -- Gitblit v1.8.0