From c8c33200e43f05136eca9fc8ff4942f8def31cc6 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期三, 18 八月 2021 10:45:40 +0800 Subject: [PATCH] 2021-08-18 1.完善Android对接LinphoneSDK 2.完善SIP相关接口对接 --- HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs | 285 +++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 216 insertions(+), 69 deletions(-) diff --git a/HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs b/HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs index 812f119..aabc46e 100644 --- a/HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs +++ b/HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs @@ -4,6 +4,7 @@ using System.Threading; using System.Collections.Generic; using HDL_ON.UI.UI2.PersonalCenter.PirDevice; +using HDL_ON.Entity; #if __IOS__ using Shared.IOS.ESVideoOnSDK; @@ -48,7 +49,7 @@ public ESVideoInfo esVideoInfo; /// <summary> - /// + /// 鏆傛椂娌$敤 /// </summary> public void InitESVideoSDK() { @@ -66,7 +67,7 @@ int.TryParse(mESVideoInfo.roomno, out roomID); #if __IOS__ - if (interphoneType == "IMOUVISIAL") + if (interphoneType == InterphoneType.IMOUVISIAL.ToString()) { //涔愭鍙瀵硅 //1.鍒濆鍖朙COpenSDK_Api @@ -95,33 +96,62 @@ } #else Intent intent = null; - if (interphoneType == "IMOUVISIAL") + if (interphoneType == InterphoneType.IMOUVISIAL.ToString()) { intent = new Intent(Shared.Application.Activity, typeof(HDL_ON_Android.LeChengVideoActivity)); + intent.PutExtra("ESVideoUUID", mESVideoInfo.ESVideoUUID); + intent.PutExtra("uuid", mESVideoInfo.uuid); + intent.PutExtra("DeviceName", mESVideoInfo.DeviceName); + intent.PutExtra("cmtID", mESVideoInfo.cmtID); + intent.PutExtra("roomno", mESVideoInfo.roomno); + intent.PutExtra("unitno", mESVideoInfo.unitno); + intent.PutExtra("HomeID", PirSend.HomeId); + intent.PutExtra("callId", mESVideoInfo.callId); + intent.PutExtra("Type", 0); + + //=========涔愭========== + intent.PutExtra("AccessToken", mESVideoInfo.Lc_AccessToken); + intent.PutExtra("DeviceId", mESVideoInfo.Lc_DeviceId); + intent.PutExtra("Location", OnAppConfig.Instance.RequestHttpsHost.Contains("China") ? 0 : 1);//濡傛灉鍩熷悕鍖呭惈china锛屽垯鏄浗鍐呰处鍙�); + intent.PutExtra("PlayToken", mESVideoInfo.Lc_PlayToken); + intent.PutExtra("Psk", mESVideoInfo.Lc_Psk); + + Shared.Application.Activity.StartActivity(intent); + } + else if (interphoneType == InterphoneType.FLVI.ToString()) + { + + intent = new Intent(Shared.Application.Activity, typeof(HDL_ON_Android.VideoActivity)); + intent.PutExtra("ESVideoUUID", mESVideoInfo.ESVideoUUID); + intent.PutExtra("uuid", mESVideoInfo.uuid); + intent.PutExtra("DeviceName", mESVideoInfo.DeviceName); + intent.PutExtra("cmtID", mESVideoInfo.cmtID); + intent.PutExtra("roomno", mESVideoInfo.roomno); + intent.PutExtra("unitno", mESVideoInfo.unitno); + intent.PutExtra("HomeID", PirSend.HomeId); + intent.PutExtra("callId", mESVideoInfo.callId); + intent.PutExtra("Type", 0); + + //=========涔愭========== + intent.PutExtra("AccessToken", mESVideoInfo.Lc_AccessToken); + intent.PutExtra("DeviceId", mESVideoInfo.Lc_DeviceId); + intent.PutExtra("Location", OnAppConfig.Instance.RequestHttpsHost.Contains("China") ? 0 : 1);//濡傛灉鍩熷悕鍖呭惈china锛屽垯鏄浗鍐呰处鍙�); + intent.PutExtra("PlayToken", mESVideoInfo.Lc_PlayToken); + intent.PutExtra("Psk", mESVideoInfo.Lc_Psk); + + Shared.Application.Activity.StartActivity(intent); + } + else if (interphoneType == InterphoneType.HDL.ToString()) + { + //HDLLinphone 鐙勮�愬厠 + HDLLinphone.Current.ShowESVideoMonitor(mESVideoInfo); } else { - intent = new Intent(Shared.Application.Activity, typeof(HDL_ON_Android.VideoActivity)); + HDLUtils.WriteLine("鏈鎺ワ紝涓嶆敮鎸佺洃瑙�"); } - intent.PutExtra("ESVideoUUID", mESVideoInfo.ESVideoUUID); - intent.PutExtra("uuid", mESVideoInfo.uuid); - intent.PutExtra("DeviceName", mESVideoInfo.DeviceName); - intent.PutExtra("cmtID", mESVideoInfo.cmtID); - intent.PutExtra("roomno", mESVideoInfo.roomno); - intent.PutExtra("unitno", mESVideoInfo.unitno); - intent.PutExtra("HomeID", PirSend.HomeId); - intent.PutExtra("callId", mESVideoInfo.callId); - intent.PutExtra("Type", 0); - - //=========涔愭========== - intent.PutExtra("AccessToken", mESVideoInfo.Lc_AccessToken); - intent.PutExtra("DeviceId", mESVideoInfo.Lc_DeviceId); - intent.PutExtra("Location", OnAppConfig.Instance.RequestHttpsHost.Contains("China") ? 0 : 1);//濡傛灉鍩熷悕鍖呭惈china锛屽垯鏄浗鍐呰处鍙�); - intent.PutExtra("PlayToken", mESVideoInfo.Lc_PlayToken); - intent.PutExtra("Psk", mESVideoInfo.Lc_Psk); - - Shared.Application.Activity.StartActivity(intent); + #endif } @@ -136,12 +166,13 @@ int roomID = 0; int.TryParse(mESVideoInfo.roomno, out roomID); #if __IOS__ - if (interphoneType == "IMOUVISIAL") + if (interphoneType == InterphoneType.IMOUVISIAL.ToString()) { //涔愭鍙瀵硅 //1.鍒濆鍖朙COpenSDK_Api LCApiKit.SharedInstance().InitSDKOpenApi(mESVideoInfo.Lc_AccessToken); - LCApiKit.SharedInstance().CurrentDevicePlayToken = mESVideoInfo.Lc_PlayToken; + //2021-05-18 鐩墠鎺ㄩ�佺殑PlayToken;鏈夐棶棰樹細瀵艰嚧SDK宕╂簝锛屾殏鏃朵笉浼� + //LCApiKit.SharedInstance().CurrentDevicePlayToken = mESVideoInfo.Lc_PlayToken; LCApiKit.SharedInstance().CurrentDeviceId = mESVideoInfo.Lc_DeviceId; LCApiKit.SharedInstance().CurrentDeviceName = mESVideoInfo.DeviceName; LCApiKit.SharedInstance().CurrentPsk = mESVideoInfo.Lc_DeviceId; @@ -152,7 +183,28 @@ //vc.MLCCallDelegate = new OnLCCallDelegate(this); Shared.Application.currentVC.NavigationController.PushViewController(vc, true); } - else + else if (interphoneType == InterphoneType.EZVIZ.ToString()) + { + //钀ょ煶鐚溂鍛煎彨 + //鍒濆鍖栬悿鐭充簯SDK锛屼腑鏂囧浗鍐卥ey銆佽嫳鏂囨捣澶杒ey 寮�鍙戣�呰处鍙蜂娇鐢ㄥ簲鐢ㄥ寘鍚嶇敵璇风殑APPKEY锛屼笉鍚屽寘鍚嶅簲鐢ㄩ渶閰嶇疆涓嶅悓鐨凙PPKEY + EZSDK.IOS.EZSDK.SharedInstance().InitLibWithAppKey("1aa98a90489b4838b966b57018b4b04b", "1aa98a90489b4838b966b57018b4b04b"); + //1.璁剧疆鎵�闇�娌充笢鐨凙ccessToken鍜孯efreshToken銆佸煙鍚嶅湴鍧� + EZSDK.IOS.EZSDK.SharedInstance().SetHDlAccessToken(UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken); + + EZSDK.IOS.EZSDK.SharedInstance().SetRequestHttpsHostAndPlatform(OnAppConfig.Instance.RequestHttpsHost, 1, mESVideoInfo.HomeId); + //2.璁剧疆钀ょ煶瀛愯处鍙风殑AccessToken鍒癝DK + EZSDK.IOS.EZSDK.SharedInstance().SetEZAccessToken(mESVideoInfo.Lc_AccessToken); + //3.鎵撳紑瑙嗛鎾斁椤甸潰 + EZSDK.IOS.EZSDK.SharedInstance().PlayWithDeviceSerial(mESVideoInfo.DeviceSerial); + + } + else if (interphoneType == InterphoneType.HDL.ToString()) + { + //HDL Linphone 鐙勮�愬厠 + + + } + else if (interphoneType == InterphoneType.FLVI.ToString()) { ESOnIntercomViewController vc = new ESOnIntercomViewController(); @@ -164,38 +216,100 @@ mOnESCallDelegate = new OnESCallDelegate(this); vc.MESCallDelegate = mOnESCallDelegate; Shared.Application.currentVC.NavigationController.PushViewController(vc, true); + }else{ + HDLUtils.WriteLine("鏈敮鎸佺殑鍙瀵硅绫诲瀷"); + } #else - #region + #region Android 澶勭悊 Intent intent = null; - if (interphoneType == "IMOUVISIAL") + if (interphoneType == InterphoneType.IMOUVISIAL.ToString()) { + //寰呭垹鍑忎笉蹇呰鍙傛暟 intent = new Intent(Shared.Application.Activity, typeof(HDL_ON_Android.LeChengVideoActivity)); + intent.PutExtra("ESVideoUUID", mESVideoInfo.ESVideoUUID); + intent.PutExtra("uuid", mESVideoInfo.uuid); + intent.PutExtra("DeviceName", mESVideoInfo.DeviceName); + intent.PutExtra("cmtID", mESVideoInfo.cmtID); + intent.PutExtra("roomno", mESVideoInfo.roomno); + intent.PutExtra("unitno", mESVideoInfo.unitno); + intent.PutExtra("HomeID", PirSend.HomeId); + intent.PutExtra("callId", mESVideoInfo.callId); + intent.PutExtra("Type", 1); + + //=========涔愭========== + intent.PutExtra("AccessToken", mESVideoInfo.Lc_AccessToken); + intent.PutExtra("DeviceId", mESVideoInfo.Lc_DeviceId); + intent.PutExtra("Location", OnAppConfig.Instance.RequestHttpsHost.Contains("China") ? 0 : 1);//濡傛灉鍩熷悕鍖呭惈china锛屽垯鏄浗鍐呰处鍙�); + intent.PutExtra("PlayToken", mESVideoInfo.Lc_PlayToken); + intent.PutExtra("Psk", mESVideoInfo.Lc_Psk); + + Shared.Application.Activity.StartActivity(intent); + + } + else if (interphoneType == InterphoneType.EZVIZ.ToString()) + { + ((BaseActivity)Shared.Application.Activity).SetCamera(b => + { + if (b) + { + intent = new Android.Content.Intent(); + var bundle = new Android.OS.Bundle(); + //浼犻�抧ame鍙傛暟涓簍inyphp + bundle.PutString("EzChildAccessToken", mESVideoInfo.Lc_AccessToken); + bundle.PutString("HdlToken", UserInfo.Current.LoginTokenString); + bundle.PutString("Url", OnAppConfig.Instance.RequestHttpsHost); + bundle.PutString("EzvizAppKey", "1aa98a90489b4838b966b57018b4b04b"); + bundle.PutInt("Platform", 1); + bundle.PutString("HomeId", mESVideoInfo.HomeId); + bundle.PutString("DeviceSerial", mESVideoInfo.DeviceSerial); + intent.PutExtras(bundle); + intent.SetComponent(new Android.Content.ComponentName(Shared.Application.Activity, "com.videogo.MainActivity")); + Shared.Application.Activity.StartActivity(intent); + } + }); + return; + } + else if (interphoneType == InterphoneType.HDL.ToString()) + { + //HDL Linphone 鐙勮�愬厠 + + + } + else if (interphoneType == InterphoneType.FLVI.ToString()) + { + //寰呭垹鍑忎笉蹇呰鍙傛暟 + intent = new Intent(Shared.Application.Activity, typeof(HDL_ON_Android.VideoActivity)); + intent.PutExtra("ESVideoUUID", mESVideoInfo.ESVideoUUID); + intent.PutExtra("uuid", mESVideoInfo.uuid); + intent.PutExtra("DeviceName", mESVideoInfo.DeviceName); + intent.PutExtra("cmtID", mESVideoInfo.cmtID); + intent.PutExtra("roomno", mESVideoInfo.roomno); + intent.PutExtra("unitno", mESVideoInfo.unitno); + intent.PutExtra("HomeID", PirSend.HomeId); + intent.PutExtra("callId", mESVideoInfo.callId); + intent.PutExtra("Type", 1); + + //=========涔愭========== + intent.PutExtra("AccessToken", mESVideoInfo.Lc_AccessToken); + intent.PutExtra("DeviceId", mESVideoInfo.Lc_DeviceId); + intent.PutExtra("Location", OnAppConfig.Instance.RequestHttpsHost.Contains("China") ? 0 : 1);//濡傛灉鍩熷悕鍖呭惈china锛屽垯鏄浗鍐呰处鍙�); + intent.PutExtra("PlayToken", mESVideoInfo.Lc_PlayToken); + intent.PutExtra("Psk", mESVideoInfo.Lc_Psk); + + + Shared.Application.Activity.StartActivity(intent); } else { - intent = new Intent(Shared.Application.Activity, typeof(HDL_ON_Android.VideoActivity)); + HDLUtils.WriteLine("鏈敮鎸佺殑鍙瀵硅绫诲瀷"); + } - intent.PutExtra("ESVideoUUID", mESVideoInfo.ESVideoUUID); - intent.PutExtra("uuid", mESVideoInfo.uuid); - intent.PutExtra("DeviceName", mESVideoInfo.DeviceName); - intent.PutExtra("cmtID", mESVideoInfo.cmtID); - intent.PutExtra("roomno", mESVideoInfo.roomno); - intent.PutExtra("unitno", mESVideoInfo.unitno); - intent.PutExtra("HomeID", PirSend.HomeId); - intent.PutExtra("callId", mESVideoInfo.callId); - intent.PutExtra("Type", 1); + - //=========涔愭========== - intent.PutExtra("AccessToken", mESVideoInfo.Lc_AccessToken); - intent.PutExtra("DeviceId", mESVideoInfo.Lc_DeviceId); - intent.PutExtra("Location", OnAppConfig.Instance.RequestHttpsHost.Contains("China") ? 0 : 1);//濡傛灉鍩熷悕鍖呭惈china锛屽垯鏄浗鍐呰处鍙�); - intent.PutExtra("PlayToken", mESVideoInfo.Lc_PlayToken); - intent.PutExtra("Psk", mESVideoInfo.Lc_Psk); - - Shared.Application.Activity.StartActivity(intent); + #endregion #endif @@ -394,6 +508,7 @@ { Dictionary<string, object> dic = new Dictionary<string, object>(); dic.Add("deviceId", esVideoInfo.Lc_DeviceId);//璁惧id + dic.Add("callId", esVideoInfo.callId); var requestJson = HttpUtil.GetSignRequestJson(dic); var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_VideoDevice_OpenDoorbell, requestJson); if (revertObj.Code == StateCode.SUCCESS) @@ -458,13 +573,19 @@ OnESCallDelegate mOnESCallDelegate; /// <summary> - /// + /// iOS鍘熺敓濮旀墭浜嬩欢 /// </summary> public class OnESCallDelegate : ESCallDelegate { - + /// <summary> + /// ESOnVideo + /// </summary> [Weak] ESOnVideo _ESOnVideo; + /// <summary> + /// 鍒濆鍖� + /// </summary> + /// <param name="mESOnVideo">鍛煎彨鐩稿叧鐨勫弬鏁�</param> public OnESCallDelegate(ESOnVideo mESOnVideo) { _ESOnVideo = mESOnVideo; @@ -590,31 +711,33 @@ } #endregion + + #endif - /// <summary> - /// 娴嬭瘯鏂规硶 - /// </summary> - /// <param name="isMonitor"></param> - public void Test(bool isMonitor = true) - { - ESVideoInfo eSVideoInfo = new ESVideoInfo() - { - DeviceName = "瀹ゅ鏈�88", - ESVideoUUID = "JJY000019VPLLF", + ///// <summary> + ///// 娴嬭瘯鏂规硶 + ///// </summary> + ///// <param name="isMonitor"></param> + //public void Test(bool isMonitor = true) + //{ + // ESVideoInfo eSVideoInfo = new ESVideoInfo() + // { + // DeviceName = "瀹ゅ鏈�88", + // ESVideoUUID = "JJY000019VPLLF", - }; - if (isMonitor) - { - ShowESVideoMonitor(eSVideoInfo, ""); - } - else - { - eSVideoInfo.callId = "88888"; - ShowESvideoVideoIntercom(eSVideoInfo, ""); - } + // }; + // if (isMonitor) + // { + // ShowESVideoMonitor(eSVideoInfo, ""); + // } + // else + // { + // eSVideoInfo.callId = "88888"; + // ShowESvideoVideoIntercom(eSVideoInfo, ""); + // } - } + //} } /// <summary> @@ -659,9 +782,9 @@ //========================澶у崕========================== - /// <summary> /// 璐﹀彿accessToken + /// 钀ょ煶瀛愯处鍙稵oken涔熷叡鐢ㄨ繖涓瓧娈� /// </summary> public string Lc_AccessToken = string.Empty; @@ -685,6 +808,20 @@ /// </summary> public int Lc_Location = 0; + //========================钀ょ煶浜戠尗鐪�========================== + /// <summary> + /// 浣忓畢Id + /// </summary> + public string HomeId = string.Empty; + /// <summary> + /// 璁惧搴忓垪鍙� + /// </summary> + public string DeviceSerial = string.Empty; + //========================HDL SIP========================== + /// <summary> + /// 璁惧sip璐﹀彿 interphoneType鏄疕DL鏃舵墠浼氭湁鍊� + /// </summary> + public string deviceSipAccount; } @@ -720,5 +857,15 @@ /// 澶у崕鍙瀵硅骞冲彴 /// </summary> IMOUVISIAL, + /// <summary> + /// 钀ょ煶鐚溂鍛煎彨 + /// </summary> + EZVIZ, + /// <summary> + /// 鐙勮�愬厠 HDL Linphone + /// </summary> + HDL, + + } } -- Gitblit v1.8.0