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 |   78 +++++++++++++++++++++++++++++++++-----
 1 files changed, 67 insertions(+), 11 deletions(-)

diff --git a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
index 02610db..b8c70e9 100644
--- a/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
+++ b/HDL_ON/DAL/ThirdPartySdk/HDLLinphone.cs
@@ -523,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)
                 {
@@ -588,6 +595,7 @@
                     intent.PutExtra("lpTitleName", mHDLCallVideoInfo.DeviceName);
                     intent.PutExtra("lpSipAccount", mHDLCallVideoInfo.DeviceSipAccount);
                 }
+                MainPage.Log("鍚姩鑷爺鍙瀵硅鐣岄潰");
                 Shared.Application.Activity.StartActivity(intent);
 #endif
             }
@@ -766,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>
@@ -786,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>
@@ -822,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