2021-05-17 1.在阿廖分支基础上增加iOS乐橙可视对讲功能,目前呼叫还有一点问题,偶尔会闪退,目前还没定位到原因
1个文件已添加
8个文件已修改
364 ■■■■ 已修改文件
.vs/HDL_APP_Project/xs/UserPrefs.xml 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DLL/LC/IOS/Shared.IOS.LCVideoOnSDK.dll 补丁 | 查看 | 原始文档 | blame | 历史
HDL-ON_iOS/HDL-ON_iOS.csproj 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_APP_Project.sln 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/Common/HDLCommon.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/Server/NewAPI.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs 257 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/UI2/UserPageBLL.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,18 +1,56 @@
<Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default">
  <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS automaticSigning="False" PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneSimulatorTarget.26569F89-0BA9-4C06-81F2-764A3AF2E1B7" />
  <MonoDevelop.Ide.Workbench ActiveDocument="HDL-ON_Android/LeChengVideoActivity.cs">
<Properties StartupConfiguration="{D998E133-F0DD-4760-BE3C-461632F54DA4}|Default">
  <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS automaticSigning="False" PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.00008030-00014C392121802E" />
  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs">
    <Files>
      <File FileName="HDL-ON_Android/Resources/values/strings.xml" Line="21" Column="1" />
      <File FileName="HDL-ON_Android/Resources/values-zh/strings.xml" Line="21" Column="39" />
      <File FileName="HDL-ON_Android/LeChengVideoActivity.cs" Line="1" Column="1" />
      <File FileName="HDL_ON/Common/HDLCommon.cs" Line="318" Column="1" />
      <File FileName="HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs" Line="62" Column="27" />
      <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirSend.cs" Line="1" Column="1" />
      <File FileName="../../../../../../Library/Frameworks/Xamarin.iOS.framework/Versions/14.6.0.15/src/Xamarin.iOS/ObjCRuntime/Runtime.cs" Line="407" Column="1" />
      <File FileName="HDL_ON/DAL/Server/HttpServerRequest.cs" Line="220" Column="68" />
      <File FileName="HDL_ON/DAL/Server/HttpUtil.cs" Line="114" Column="39" />
      <File FileName="HDL_ON/DAL/Server/NewAPI.cs" Line="585" Column="53" />
      <File FileName="HDL_ON/DAL/Server/NewApiRes.cs" Line="77" Column="33" />
      <File FileName="HDL_ON/Common/Constant.cs" Line="270" Column="23" />
      <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs" Line="14" Column="21" />
      <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs" Line="30" Column="47" />
      <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/VideoSend.cs" Line="74" Column="39" />
      <File FileName="HDL_ON/Common/ApiUtlis.cs" Line="296" Column="128" />
      <File FileName="HDL_ON/UI/UI2/FuntionControlView/Video/ObjectClass.cs" Line="129" Column="38" />
    </Files>
    <Pads>
      <Pad Id="ProjectPad">
        <State name="__root__">
          <Node name="HDL_APP_Project" expanded="True">
            <Node name="HDL_ON" expanded="True">
              <Node name="Common" expanded="True" />
              <Node name="DAL" expanded="True">
                <Node name="Server" expanded="True" />
                <Node name="ThirdPartySdk" expanded="True" />
              </Node>
              <Node name="UI" expanded="True">
                <Node name="UI2" expanded="True">
                  <Node name="4-PersonalCenter" expanded="True">
                    <Node name="PirDevice" expanded="True" />
                  </Node>
                  <Node name="FuntionControlView" expanded="True">
                    <Node name="Video" expanded="True">
                      <Node name="ObjectClass.cs" selected="True" />
                    </Node>
                  </Node>
                </Node>
              </Node>
            </Node>
            <Node name="HDL-ON_Android" expanded="True">
              <Node name="LeChengVideo" expanded="True" />
              <Node name="LeChengVideoActivity.cs" selected="True" />
              <Node name="LeChengVideo" expanded="True">
                <Node name="Form" expanded="True" />
              </Node>
            </Node>
            <Node name="HDL-ON_iOS" expanded="True">
              <Node name="Other" expanded="True" />
              <Node name="Resources" expanded="True" />
            </Node>
            <Node name="Shared.IOS.LCVideoOnSDK" expanded="True">
              <Node name="NativeReferenceFolder" expanded="True" />
            </Node>
          </Node>
        </State>
@@ -26,11 +64,15 @@
    <String>Shared.IOS/Shared.IOS.csproj</String>
  </DisabledProjects>
  <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|iPhone" />
  <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.2ffc9a07" />
  <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.Android_Accelerated_Oreo" />
  <MonoDevelop.Ide.DebuggingService.Breakpoints>
    <BreakpointStore>
      <Breakpoint file="/Users/liaoshaosheng/Documents/GitHub/HDL_APP_Project/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" relfile="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" line="34" column="1" />
      <Breakpoint file="/Users/liaoshaosheng/Documents/GitHub/HDL_APP_Project/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs" relfile="HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs" line="313" column="1" />
      <Breakpoint file="/Users/jlchen/JLChen/ProjectsCode/HDLGit/ON+/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" relfile="HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/Method.cs" line="34" column="1" />
      <Breakpoint file="/Users/jlchen/JLChen/ProjectsCode/HDLGit/ON+/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs" relfile="HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs" line="313" column="1" />
      <Breakpoint file="/Users/jlchen/JLChen/ProjectsCode/HDLGit/ON+/HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs" relfile="HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs" line="83" column="1" />
      <Breakpoint file="/Users/jlchen/JLChen/ProjectsCode/HDLGit/ON+/HDL_ON/Common/HDLCommon.cs" relfile="HDL_ON/Common/HDLCommon.cs" line="318" column="1" />
      <Breakpoint file="/Users/jlchen/JLChen/ProjectsCode/HDLGit/ON+/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs" relfile="HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs" line="31" column="1" />
      <Breakpoint file="/Users/jlchen/JLChen/ProjectsCode/HDLGit/ON+/HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs" relfile="HDL_ON/UI/UI2/FuntionControlView/Video/VideoMethod.cs" line="180" column="1" />
    </BreakpointStore>
  </MonoDevelop.Ide.DebuggingService.Breakpoints>
  <MultiItemStartupConfigurations />
DLL/LC/IOS/Shared.IOS.LCVideoOnSDK.dll
Binary files differ
HDL-ON_iOS/HDL-ON_iOS.csproj
@@ -91,12 +91,15 @@
        <Reference Include="EZSDK.IOS">
          <HintPath>..\DLL\IOS\EZSDK.IOS.dll</HintPath>
        </Reference>
        <Reference Include="Shared.IOS.ESVideoOnSDK">
          <HintPath>..\DLL\FL\iOS\Shared.IOS.ESVideoOnSDK.dll</HintPath>
        </Reference>
        <Reference Include="Shared.IOS">
          <HintPath>..\DLL\Shared.IOS.dll</HintPath>
        </Reference>
        <Reference Include="Shared.IOS.LCVideoOnSDK">
          <HintPath>..\..\LCOpenSDK_iOS\iOS\Xamarin\Shared.IOS.LCVideoOnSDK\Shared.IOS.LCVideoOnSDK\bin\Release\Shared.IOS.LCVideoOnSDK.dll</HintPath>
        </Reference>
        <Reference Include="Shared.IOS.ESVideoOnSDK">
          <HintPath>..\DLL\FL\iOS\Shared.IOS.ESVideoOnSDK.dll</HintPath>
        </Reference>
    </ItemGroup>
    <ItemGroup>
      <PackageReference Include="Newtonsoft.Json">
HDL_APP_Project.sln
@@ -9,6 +9,8 @@
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Blufi", "HdlBluWi\Blufi.csproj", "{2DDF4C3C-6998-432E-9F43-6786D82F0630}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shared.IOS.LCVideoOnSDK", "..\LCOpenSDK_iOS\iOS\Xamarin\Shared.IOS.LCVideoOnSDK\Shared.IOS.LCVideoOnSDK\Shared.IOS.LCVideoOnSDK.csproj", "{D78A9ED7-34A3-416F-B645-7475E2E2DE93}"
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
        Debug|Any CPU = Debug|Any CPU
@@ -55,5 +57,17 @@
        {2DDF4C3C-6998-432E-9F43-6786D82F0630}.Debug|iPhone.Build.0 = Debug|Any CPU
        {2DDF4C3C-6998-432E-9F43-6786D82F0630}.Release|iPhone.ActiveCfg = Release|Any CPU
        {2DDF4C3C-6998-432E-9F43-6786D82F0630}.Release|iPhone.Build.0 = Release|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Release|Any CPU.Build.0 = Release|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Debug|iPhone.ActiveCfg = Debug|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Debug|iPhone.Build.0 = Debug|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Release|iPhone.ActiveCfg = Release|Any CPU
        {D78A9ED7-34A3-416F-B645-7475E2E2DE93}.Release|iPhone.Build.0 = Release|Any CPU
    EndGlobalSection
EndGlobal
HDL_ON/Common/HDLCommon.cs
@@ -306,7 +306,8 @@
                        var json= Newtonsoft.Json.Linq.JObject.Parse(jpushMessageInfo.expantContent);
                        ESVideoInfo eSVideoInfo = new ESVideoInfo();// GetESOnVideoJson(jpushMessageInfo.expantContent);
                        eSVideoInfo.callId = json["callId"].ToString();
                        eSVideoInfo.Lc_AccessToken =  UI.UI2.PersonalCenter.PirDevice.PirSend.LcSubAccessToken;//json["subAccountToken"].ToString();//
                        //eSVideoInfo.Lc_AccessToken = UI.UI2.PersonalCenter.PirDevice.PirSend.LcSubAccessToken;//json["subAccountToken"].ToString();//
                        eSVideoInfo.Lc_AccessToken = json["subAccountToken"].ToString();//2021-05-13 目前云端还没拿到Lc_AccessToken,目前没办法正常使用
                        eSVideoInfo.Lc_DeviceId = json["deviceId"].ToString();
                        eSVideoInfo.Lc_Location = OnAppConfig.Instance.RequestHttpsHost.Contains("China") ? 0 : 1;
                        eSVideoInfo.Lc_PlayToken = json["token"].ToString();
HDL_ON/DAL/Server/NewAPI.cs
@@ -583,8 +583,17 @@
        /// 获取可视对讲设备列表(所有对接可视对讲都包含一起)
        /// </summary>
        public const string API_POST_VideoDeviceList = "/home-wisdom/platform/imou/listVisualSpeaks";
        /// <summary>
        /// 远程开门
        /// </summary>
        public const string API_POST_VideoDevice_OpenDoorbell = "/home-wisdom/platform/imou/openDoorbell";
        /// <summary>
        /// 更改通话状态
        /// </summary>
        public const string API_POST_VideoDevice_UpdateCallStatus = "/home-wisdom/platform/imou/updateCallStatus";
        #endregion
    }
    ///// <summary>
HDL_ON/DAL/ThirdPartySdk/ESOnVideo.cs
@@ -7,6 +7,7 @@
#if __IOS__
using Shared.IOS.ESVideoOnSDK;
using Shared.IOS.LCVideoOnSDK;
using UIKit;
using Foundation;
#else
@@ -60,16 +61,38 @@
        /// <param name="mESVideoInfo"></param>
        public void ShowESVideoMonitor(ESVideoInfo mESVideoInfo, string interphoneType)
        {
#if __IOS__
             int roomID = 0;
            this.esVideoInfo = mESVideoInfo;
            int roomID = 0;
            int.TryParse(mESVideoInfo.roomno, out roomID);
            ESOnMonitorViewController vc = new ESOnMonitorViewController();
            vc.MESVideoID = mESVideoInfo.ESVideoUUID;
            vc.MESRoomID =roomID;
            vc.DeviceName = mESVideoInfo.DeviceName;
            //vc.RoomName = mESVideoInfo.RoomName;
            vc.MESCallDelegate = new OnESCallDelegate(this);
            Shared.Application.currentVC.NavigationController.PushViewController(vc, true);
#if __IOS__
            if (interphoneType == "IMOUVISIAL")
            {
                //乐橙可视对讲
                //1.初始化LCOpenSDK_Api
                LCApiKit.SharedInstance().InitSDKOpenApi(mESVideoInfo.Lc_AccessToken);
                LCApiKit.SharedInstance().CurrentDevicePlayToken = mESVideoInfo.Lc_PlayToken;
                LCApiKit.SharedInstance().CurrentDeviceId = mESVideoInfo.Lc_DeviceId;
                LCApiKit.SharedInstance().CurrentDeviceName = mESVideoInfo.DeviceName;
                LCApiKit.SharedInstance().CurrentPsk = mESVideoInfo.Lc_DeviceId;
                //2.调整监视页面
                LCOnMonitorViewController vc = new LCOnMonitorViewController();
                mOnLCCallDelegate = new OnLCCallDelegate(this);
                vc.MLCCallDelegate = mOnLCCallDelegate;
                //vc.MLCCallDelegate = new OnLCCallDelegate(this);
                Shared.Application.currentVC.NavigationController.PushViewController(vc, true);
            }
            else
            {
                ESOnMonitorViewController vc = new ESOnMonitorViewController();
                vc.MESVideoID = mESVideoInfo.ESVideoUUID;
                vc.MESRoomID = roomID;
                vc.DeviceName = mESVideoInfo.DeviceName;
                //vc.RoomName = mESVideoInfo.RoomName;
                //vc.MESCallDelegate = new OnESCallDelegate(this);
                Shared.Application.currentVC.NavigationController.PushViewController(vc, true);
            }
#else
            Intent intent = null;
            if (interphoneType == "IMOUVISIAL")
@@ -110,18 +133,38 @@
        public void ShowESvideoVideoIntercom(ESVideoInfo mESVideoInfo, string interphoneType)
        {
            this.esVideoInfo = mESVideoInfo;
#if __IOS__
            int roomID = 0;
            int.TryParse(mESVideoInfo.roomno, out roomID);
            ESOnIntercomViewController vc = new ESOnIntercomViewController();
            vc.MESVideoID = mESVideoInfo.ESVideoUUID;
            vc.MESRoomID = roomID;
            vc.DeviceName = mESVideoInfo.DeviceName;
            //vc.RoomName = mESVideoInfo.RoomName;
            //vc.MESCallDelegate = new OnESCallDelegate(this);
            mOnESCallDelegate = new OnESCallDelegate(this);
            vc.MESCallDelegate = mOnESCallDelegate;
            Shared.Application.currentVC.NavigationController.PushViewController(vc, true);
#if __IOS__
            if (interphoneType == "IMOUVISIAL")
            {
                //乐橙可视对讲
                //1.初始化LCOpenSDK_Api
                LCApiKit.SharedInstance().InitSDKOpenApi(mESVideoInfo.Lc_AccessToken);
                LCApiKit.SharedInstance().CurrentDevicePlayToken = mESVideoInfo.Lc_PlayToken;
                LCApiKit.SharedInstance().CurrentDeviceId = mESVideoInfo.Lc_DeviceId;
                LCApiKit.SharedInstance().CurrentDeviceName = mESVideoInfo.DeviceName;
                LCApiKit.SharedInstance().CurrentPsk = mESVideoInfo.Lc_DeviceId;
                //2.跳转乐橙呼叫页面
                LCOnIntercomViewController vc = new LCOnIntercomViewController();
                mOnLCCallDelegate = new OnLCCallDelegate(this);
                vc.MLCCallDelegate = mOnLCCallDelegate;
                //vc.MLCCallDelegate = new OnLCCallDelegate(this);
                Shared.Application.currentVC.NavigationController.PushViewController(vc, true);
            }
            else
            {
                ESOnIntercomViewController vc = new ESOnIntercomViewController();
                vc.MESVideoID = mESVideoInfo.ESVideoUUID;
                vc.MESRoomID = roomID;
                vc.DeviceName = mESVideoInfo.DeviceName;
                //vc.RoomName = mESVideoInfo.RoomName;
                //vc.MESCallDelegate = new OnESCallDelegate(this);
                mOnESCallDelegate = new OnESCallDelegate(this);
                vc.MESCallDelegate = mOnESCallDelegate;
                Shared.Application.currentVC.NavigationController.PushViewController(vc, true);
            }
#else
            #region
@@ -158,7 +201,7 @@
#endif
        }
        #region 动作回调,提交记录到云端
        #region 动作回调和原生交互,提交记录到云端
        /// <summary>
        /// 判断callId是否为空
@@ -337,6 +380,76 @@
        #endregion
        #region 王赢新接听和开锁接口
        /// <summary>
        /// 开锁
        /// </summary>
        void HDLUnlockAction()
        {
            //Utlis.WriteLine("UnlockAction");
            if (esVideoInfo == null) return;
            new Thread(() =>
            {
                Dictionary<string, object> dic = new Dictionary<string, object>();
                dic.Add("deviceId", esVideoInfo.Lc_DeviceId);//设备id
                var requestJson = HttpUtil.GetSignRequestJson(dic);
                var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_VideoDevice_OpenDoorbell, requestJson);
                if (revertObj.Code == StateCode.SUCCESS)
                {
                    Application.RunOnMainThread(() =>
                    {
#if __IOS__
                        //和原生监控界面交互、发送开锁成功通知
                        NSNotificationCenter.DefaultCenter.PostNotificationName("lcCallDelegateOpenDoorSuccess", null);
#endif
                    });
                }
                else
                {
                    Utlis.WriteLine("POST 开锁失败 code: " + revertObj.Code);
                }
            })
            { IsBackground = false }.Start();
        }
        /// <summary>
        /// 更改通话状态
        /// </summary>
        void HDLUpdateCallStatus(CallStatusType callStatusType, InterphoneType interphoneType, int callDuration = 0) {
            if (CheckESVideoInfoIsNullOrEmpty()) return;
            new Thread(() =>
            {
                Dictionary<string, object> dic = new Dictionary<string, object>();
                dic.Add("callId", esVideoInfo.callId);//呼叫id
                dic.Add("callStatus", callStatusType.ToString());//可用值:MISSED,RECEIVED,REJECT
                dic.Add("interphoneTypeEnum", interphoneType.ToString());//可用值:FLVI,IMOUVISIAL
                if (callStatusType == CallStatusType.RECEIVED && callDuration > 0)
                {
                    dic.Add("callDuration", callDuration);//通话时长(秒)
                }
                var requestJson = HttpUtil.GetSignRequestJson(dic);
                var revertObj = HttpUtil.RequestHttpsPostFroHome(NewAPI.API_POST_VideoDevice_UpdateCallStatus, requestJson);
                if (revertObj.Code == StateCode.SUCCESS)
                {
                }
                else
                {
                    Utlis.WriteLine("POST 更新状态失败 code: " + revertObj.Code);
                }
            })
            { IsBackground = false }.Start();
        }
        #endregion
#if __IOS__
        #region OnESCallDelegate
        /////// <summary>
@@ -402,6 +515,76 @@
            public override void OnUnlockAction()
            {
                _ESOnVideo.UnlockAction();
            }
        }
        #endregion
        #region OnLCCallDelegate
        /////// <summary>
        /////// OnLCCallDelegate 继承响应事件
        /////// </summary>
        OnLCCallDelegate mOnLCCallDelegate;
        /// <summary>
        ///
        /// </summary>
        public class OnLCCallDelegate : LCCallDelegate
        {
            [Weak] ESOnVideo _ESOnVideo;
            public OnLCCallDelegate(ESOnVideo mESOnVideo)
            {
                _ESOnVideo = mESOnVideo;
            }
            /// <summary>
            /// 接听
            /// </summary>
            public override void OnAnswerAction()
            {
                _ESOnVideo.HDLUpdateCallStatus(CallStatusType.RECEIVED, InterphoneType.IMOUVISIAL);
            }
            /// <summary>
            /// 挂断
            /// </summary>
            /// <param name="callDuration"></param>
            public override void OnHangUpAction(int callDuration)
            {
                _ESOnVideo.HDLUpdateCallStatus(CallStatusType.RECEIVED, InterphoneType.IMOUVISIAL, callDuration);
            }
            /// <summary>
            /// 拒接
            /// </summary>
            public override void OnRejectCallAction()
            {
                _ESOnVideo.HDLUpdateCallStatus(CallStatusType.REJECT, InterphoneType.IMOUVISIAL);
            }
            /// <summary>
            /// 截图成功
            /// </summary>
            /// <param name="image"></param>
            public override void OnScreenshotSuccessfulAction(UIImage image)
            {
                ////NSData imageData = UIImagePNGRepresentation(image); UIImage
                //NSData imageData = image.AsPNG();
                //byte[] dataBytes = new byte[imageData.Length];
                //System.Runtime.InteropServices.Marshal.Copy(imageData.Bytes, dataBytes, 0, Convert.ToInt32(imageData.Length));
                ////image.g
                ////_ESOnVideo.ScreenshotSuccessfulAction(dataBytes);
            }
            /// <summary>
            /// 开锁成功
            /// </summary>
            public override void OnUnlockAction()
            {
                _ESOnVideo.HDLUnlockAction();
            }
        }
@@ -504,4 +687,38 @@
    }
    /// <summary>
    /// 通话状态类型
    /// </summary>
    public enum CallStatusType
    {
        /// <summary>
        /// 未接
        /// </summary>
        MISSED,
        /// <summary>
        /// 已接听
        /// </summary>
        RECEIVED,
        /// <summary>
        /// 拒接
        /// </summary>
        REJECT,
    }
    /// <summary>
    /// 可视对讲设备平台类型
    /// </summary>
    public enum InterphoneType
    {
        /// <summary>
        /// 丰林平台
        /// </summary>
        FLVI,
        /// <summary>
        /// 大华可视对讲平台
        /// </summary>
        IMOUVISIAL,
    }
}
HDL_ON/UI/UI2/FuntionControlView/Video/VideoMainView.cs
@@ -265,11 +265,11 @@
                //门口机的点击事件
                clickBtn.MouseUpEventHandler += (sender, e) =>
                {
                    var video = clickBtn.Tag as Video;
                    if (video.devType == "100")
                    var video2 = clickBtn.Tag as Video;
                    if (video2.devType == "100")
                    {
                        //门禁二维码固定有的
                        VideoSend.GetQRcode(this, video, (tag, paw) =>
                        VideoSend.GetQRcode(this, video2, (tag, paw) =>
                        {
                            if (tag)
                            {
HDL_ON/UI/UI2/UserPageBLL.cs
@@ -1,5 +1,5 @@
using System;
using Android.Content;
//using Android.Content;
using Shared;
namespace HDL_ON.UI