wxr
2023-08-23 96e9ff2e5a54f54cdbb6b8b2f049fdf6a837de3c
OnPro/HDL-ON_Android/LeChengVideoActivity.cs
@@ -1,443 +1,443 @@

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android;
using Android.App;
using Android.Content;
using Android.Content.PM;
using Android.Graphics;
using Android.OS;
using Android.Runtime;
using Android.Support.V4.App;
using Android.Support.V4.Content;
using Android.Util;
using Android.Views;
using Android.Widget;
//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using Android;
//using Android.App;
//using Android.Content;
//using Android.Content.PM;
//using Android.Graphics;
//using Android.OS;
//using Android.Runtime;
//using Android.Support.V4.App;
//using Android.Support.V4.Content;
//using Android.Util;
//using Android.Views;
//using Android.Widget;
using Com.Lechange.Opensdk.Api;
using Com.Lechange.Opensdk.Device;
using Com.Lechange.Opensdk.Listener;
using Com.Lechange.Opensdk.Media;
//using Com.Lechange.Opensdk.Api;
//using Com.Lechange.Opensdk.Device;
//using Com.Lechange.Opensdk.Listener;
//using Com.Lechange.Opensdk.Media;
using HDL_ON;
using HDL_ON.DAL.Server;
using HDL_ON_Android.LeChengView.Form;
using Java.IO;
using Java.Lang;
//using HDL_ON;
//using HDL_ON.DAL.Server;
//using HDL_ON_Android.LeChengView.Form;
//using Java.IO;
//using Java.Lang;
namespace HDL_ON_Android
{
    [Activity(Label = "LeChengVideoActivity", WindowSoftInputMode = SoftInput.AdjustResize, LaunchMode = LaunchMode.SingleInstance, ConfigurationChanges = (ConfigChanges.Keyboard | ConfigChanges.KeyboardHidden | ConfigChanges.LayoutDirection | ConfigChanges.Locale | ConfigChanges.Orientation | ConfigChanges.ScreenSize), Theme = "@style/MyTheme1", ScreenOrientation = ScreenOrientation.Portrait)]
    public class LeChengVideoActivity : Activity, View.IOnClickListener
    {
        private static LeChengVideoActivity CurtActivity;
        //
        private string URL = "openapi.easy4ip.com:443"; //海外(正式)
        private static string URL_LC_CHINA = "openapi.lechange.cn:443"; //中国大陆(正式)
        private static string URL_LC_Overseas = "openapi.easy4ip.com:443"; //中国大陆(正式)
        public string AccessToken = "";
        public string DeviceId = "";
        public string Psk = "";
        public string PlayToken = "";//播放playToken
        public string CallId = "";//呼叫Id
        private int Type = 0;//0监控,1对讲
        private string DeviceName = "";// 备注
//namespace HDL_ON_Android
//{
//    [Activity(Label = "LeChengVideoActivity", WindowSoftInputMode = SoftInput.AdjustResize, LaunchMode = LaunchMode.SingleInstance, ConfigurationChanges = (ConfigChanges.Keyboard | ConfigChanges.KeyboardHidden | ConfigChanges.LayoutDirection | ConfigChanges.Locale | ConfigChanges.Orientation | ConfigChanges.ScreenSize), Theme = "@style/MyTheme1", ScreenOrientation = ScreenOrientation.Portrait)]
//    public class LeChengVideoActivity : Activity, View.IOnClickListener
//    {
//        private static LeChengVideoActivity CurtActivity;
//        //
//        private string URL = "openapi.easy4ip.com:443"; //海外(正式)
//        private static string URL_LC_CHINA = "openapi.lechange.cn:443"; //中国大陆(正式)
//        private static string URL_LC_Overseas = "openapi.easy4ip.com:443"; //中国大陆(正式)
//        public string AccessToken = "";
//        public string DeviceId = "";
//        public string Psk = "";
//        public string PlayToken = "";//播放playToken
//        public string CallId = "";//呼叫Id
//        private int Type = 0;//0监控,1对讲
//        private string DeviceName = "";// 备注
        /// <summary>
        /// 0:国内,1海外
        /// </summary>
        private int Location = 0;
//        /// <summary>
//        /// 0:国内,1海外
//        /// </summary>
//        private int Location = 0;
        private FrameLayout flWindow;
        private FrameLayout flWindowContent;
        private ImageView ivBack;
        private TextView tvName;
        private MonitorFragment monitorFragment = null;
        private ReverseCallFragment reverseCallFragment = null;
//        private FrameLayout flWindow;
//        private FrameLayout flWindowContent;
//        private ImageView ivBack;
//        private TextView tvName;
//        private MonitorFragment monitorFragment = null;
//        private ReverseCallFragment reverseCallFragment = null;
        public LCOpenSDK_PlayWindow mPlayWindow;
//        public LCOpenSDK_PlayWindow mPlayWindow;
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
//        protected override void OnCreate(Bundle savedInstanceState)
//        {
//            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_video_phone);
//            SetContentView(Resource.Layout.activity_video_phone);
            CurtActivity = this;
            AccessToken = Intent.GetStringExtra("AccessToken");//"St_0000d307a13c965c4db285469484490e"
            DeviceId = Intent.GetStringExtra("DeviceId");//6K056CFAAJ8FFA1
            Psk = Intent.GetStringExtra("Psk");//6K056CFAAJ8FFA1
            PlayToken = Intent.GetStringExtra("PlayToken"); // 播放playToken//"8a5e041afa674a2ba3e84d90a54ea962"
            Type = Intent.GetIntExtra("Type", 0);//0监控,1对讲//1
            Location = Intent.GetIntExtra("Location", 0);//1
            CallId = Intent.GetStringExtra("callId");//1384766990812426242
            DeviceName = Intent.GetStringExtra("DeviceName");
//            CurtActivity = this;
//            AccessToken = Intent.GetStringExtra("AccessToken");//"St_0000d307a13c965c4db285469484490e"
//            DeviceId = Intent.GetStringExtra("DeviceId");//6K056CFAAJ8FFA1
//            Psk = Intent.GetStringExtra("Psk");//6K056CFAAJ8FFA1
//            PlayToken = Intent.GetStringExtra("PlayToken"); // 播放playToken//"8a5e041afa674a2ba3e84d90a54ea962"
//            Type = Intent.GetIntExtra("Type", 0);//0监控,1对讲//1
//            Location = Intent.GetIntExtra("Location", 0);//1
//            CallId = Intent.GetStringExtra("callId");//1384766990812426242
//            DeviceName = Intent.GetStringExtra("DeviceName");
            InitLCSDK();
//            InitLCSDK();
            IniView();
//            IniView();
            IniData();
//            IniData();
            Permissions();
//            Permissions();
            if (Type == 0)
            {
                monitorFragment = new MonitorFragment();
                FragmentManager.BeginTransaction().Replace(Resource.Id.content, monitorFragment).Commit();
            }
            else
            {
                reverseCallFragment = new ReverseCallFragment();
                FragmentManager.BeginTransaction().Replace(Resource.Id.content, reverseCallFragment).Commit();
            }
//            if (Type == 0)
//            {
//                monitorFragment = new MonitorFragment();
//                FragmentManager.BeginTransaction().Replace(Resource.Id.content, monitorFragment).Commit();
//            }
//            else
//            {
//                reverseCallFragment = new ReverseCallFragment();
//                FragmentManager.BeginTransaction().Replace(Resource.Id.content, reverseCallFragment).Commit();
//            }
        }
//        }
        private void IniView()
        {
            //
            flWindowContent = (FrameLayout)FindViewById(Resource.Id.remoteFrame);
            flWindow = (FrameLayout)FindViewById(Resource.Id.live_window);
//        private void IniView()
//        {
//            //
//            flWindowContent = (FrameLayout)FindViewById(Resource.Id.remoteFrame);
//            flWindow = (FrameLayout)FindViewById(Resource.Id.live_window);
            ivBack = (ImageView)FindViewById(Resource.Id.videoBackImg);
            tvName = (TextView)FindViewById(Resource.Id.nameText);
//            ivBack = (ImageView)FindViewById(Resource.Id.videoBackImg);
//            tvName = (TextView)FindViewById(Resource.Id.nameText);
            tvName.SetText(DeviceName, null);
            ivBack.SetOnClickListener(this);
//            tvName.SetText(DeviceName, null);
//            ivBack.SetOnClickListener(this);
        }
//        }
        private void IniData()
        {
            //
            //SetStatusBarColor();// 这里设计的TopBarColor是白色,与系统导航栏字体颜色一直,暂时屏蔽不用
//        private void IniData()
//        {
//            //
//            //SetStatusBarColor();// 这里设计的TopBarColor是白色,与系统导航栏字体颜色一直,暂时屏蔽不用
            mPlayWindow = new LCOpenSDK_PlayWindow();
            mPlayWindow.InitPlayWindow(this, flWindowContent, 0, true);
//            mPlayWindow = new LCOpenSDK_PlayWindow();
//            mPlayWindow.InitPlayWindow(this, flWindowContent, 0, true);
           
        }
//        }
        /// <summary>
        ///  初始化乐橙库
        /// </summary>
        private void InitLCSDK()
        {
//        /// <summary>
//        ///  初始化乐橙库
//        /// </summary>
//        private void InitLCSDK()
//        {
            if (Location == 1)
            {
                URL = URL_LC_Overseas;
            }else {
                URL = URL_LC_CHINA;
            }
//            if (Location == 1)
//            {
//                URL = URL_LC_Overseas;
//            }else {
//                URL = URL_LC_CHINA;
//            }
            InitParams initParams = new InitParams(this, URL, AccessToken);
            LCOpenSDK_Api.InitOpenApi(initParams);
        }
//            InitParams initParams = new InitParams(this, URL, AccessToken);
//            LCOpenSDK_Api.InitOpenApi(initParams);
//        }
        /// <summary>
        /// 开始播放(预览)
        /// </summary>
        public void Play()
        {
            try
            {
                LCOpenSDK_ParamReal paramReal = new LCOpenSDK_ParamReal(AccessToken, DeviceId, 0, Psk, PlayToken, 1, false, true,-1);
                //PlayEventListener listener = new PlayEventListener();//实现播放事件监听回调 2021-10-15 目前不能监听,监听了会空异常
                //mPlayWindow.WindowListener = listener;//实现播放事件监听回调
                mPlayWindow.PlayRtspReal(paramReal);
            }
            catch (System.Exception e)
            {
                string sss = e.Message;
            }
        }
//        /// <summary>
//        /// 开始播放(预览)
//        /// </summary>
//        public void Play()
//        {
//            try
//            {
//                LCOpenSDK_ParamReal paramReal = new LCOpenSDK_ParamReal(AccessToken, DeviceId, 0, Psk, PlayToken, 1, false, true,-1);
//                //PlayEventListener listener = new PlayEventListener();//实现播放事件监听回调 2021-10-15 目前不能监听,监听了会空异常
//                //mPlayWindow.WindowListener = listener;//实现播放事件监听回调
//                mPlayWindow.PlayRtspReal(paramReal);
//            }
//            catch (System.Exception e)
//            {
//                string sss = e.Message;
//            }
//        }
        /// <summary>
        /// 停止预览(停止播放画面)
        /// </summary>
        public void Stop()
        {
            mPlayWindow.StopRtspReal(true);//关闭视频
            //mPlayWindow.WindowListener = null;
        }
//        /// <summary>
//        /// 停止预览(停止播放画面)
//        /// </summary>
//        public void Stop()
//        {
//            mPlayWindow.StopRtspReal(true);//关闭视频
//            //mPlayWindow.WindowListener = null;
//        }
        /// <summary>
        /// 打开对讲
        /// </summary>
        public void StartTalk()
        {
            UserInfo.Current.inVideo = true;
            CloseAudio();// 关闭Audio
            LCOpenSDK_Talk.Listener = new AudioTalkerListener();//设置对讲监听
            //2021-10-29 对讲请求类型,call呼叫,如果不传,默认为talk
            string talkType = "talk";
            if (Type == 1)//0监控,1对讲
            {
                talkType = "call";
            }
            // 对讲参数
            LCOpenSDK_ParamTalk paramTalk = new LCOpenSDK_ParamTalk(AccessToken, DeviceId, -1, Psk, PlayToken, true, talkType);
            LCOpenSDK_Talk.PlayTalk(paramTalk);
        }
//        /// <summary>
//        /// 打开对讲
//        /// </summary>
//        public void StartTalk()
//        {
//            UserInfo.Current.inVideo = true;
//            CloseAudio();// 关闭Audio
//            LCOpenSDK_Talk.Listener = new AudioTalkerListener();//设置对讲监听
//            //2021-10-29 对讲请求类型,call呼叫,如果不传,默认为talk
//            string talkType = "talk";
//            if (Type == 1)//0监控,1对讲
//            {
//                talkType = "call";
//            }
//            // 对讲参数
//            LCOpenSDK_ParamTalk paramTalk = new LCOpenSDK_ParamTalk(AccessToken, DeviceId, -1, Psk, PlayToken, true, talkType);
//            LCOpenSDK_Talk.PlayTalk(paramTalk);
//        }
        /// <summary>
        /// 关闭对讲
        /// </summary>
        public void StopTalk()
        {
            UserInfo.Current.inCall = DateTime.MinValue;
            UserInfo.Current.inVideo = false;
            LCOpenSDK_Talk.StopTalk();
            LCOpenSDK_Talk.Listener = null;
        }
//        /// <summary>
//        /// 关闭对讲
//        /// </summary>
//        public void StopTalk()
//        {
//            UserInfo.Current.inCall = DateTime.MinValue;
//            UserInfo.Current.inVideo = false;
//            LCOpenSDK_Talk.StopTalk();
//            LCOpenSDK_Talk.Listener = null;
//        }
        /// <summary>
        /// 打开声音(预览的时候可以听到门口机传来的声音)
        /// </summary>
        /// <returns></returns>
        public bool OpenAudio()
        {
            return mPlayWindow.PlayAudio() == 0;
        }
//        /// <summary>
//        /// 打开声音(预览的时候可以听到门口机传来的声音)
//        /// </summary>
//        /// <returns></returns>
//        public bool OpenAudio()
//        {
//            return mPlayWindow.PlayAudio() == 0;
//        }
        /// <summary>
        /// 关闭声音(预览的时候关闭门口挤传来的声音,注意:打开对讲时需要先调用此方法关闭声音)
        /// </summary>
        /// <returns></returns>
        public bool CloseAudio()
        {
            return mPlayWindow.StopAudio() == 0;
        }
//        /// <summary>
//        /// 关闭声音(预览的时候关闭门口挤传来的声音,注意:打开对讲时需要先调用此方法关闭声音)
//        /// </summary>
//        /// <returns></returns>
//        public bool CloseAudio()
//        {
//            return mPlayWindow.StopAudio() == 0;
//        }
        /// <summary>
        /// 开锁
        /// </summary>
        public void Unlock()
        {
            //
            Dictionary<string, object> dic = new Dictionary<string, object>();
            dic.Add("deviceId", this.DeviceId);
            dic.Add("callId", this.CallId);
//        /// <summary>
//        /// 开锁
//        /// </summary>
//        public void Unlock()
//        {
//            //
//            Dictionary<string, object> dic = new Dictionary<string, object>();
//            dic.Add("deviceId", this.DeviceId);
//            dic.Add("callId", this.CallId);
            var requestJson = HttpUtil.GetSignRequestJson(dic);
            var revertObj = HttpUtil.RequestHttpsPostFroHome("/home-wisdom/platform/imou/openDoorbell", requestJson);
            if (revertObj.Code == StateCode.SUCCESS)
            {
                Toast.MakeText(this, Resources.GetString(Resource.String.unlock_success), ToastLength.Short).Show();
            }
            else
            {
                Toast.MakeText(this, Resources.GetString(Resource.String.unlock_fail), ToastLength.Short).Show();
            }
        }
//            var requestJson = HttpUtil.GetSignRequestJson(dic);
//            var revertObj = HttpUtil.RequestHttpsPostFroHome("/home-wisdom/platform/imou/openDoorbell", requestJson);
//            if (revertObj.Code == StateCode.SUCCESS)
//            {
//                Toast.MakeText(this, Resources.GetString(Resource.String.unlock_success), ToastLength.Short).Show();
//            }
//            else
//            {
//                Toast.MakeText(this, Resources.GetString(Resource.String.unlock_fail), ToastLength.Short).Show();
//            }
//        }
        ///// <summary>
        ///// 发送广播,通知刷新图库的显示
        ///// </summary>
        ///// <param name="path"></param>
        //void SendBroadcastScanFile(Context context, string path)
        //{
        //    // 发送广播,通知刷新图库的显示
        //    Intent scanIntent = new Intent(Intent.ActionMediaScannerScanFile);
        //    scanIntent.SetData(Android.Net.Uri.FromFile(new File(path)));
        //    context.SendBroadcast(scanIntent);
        //}
//        ///// <summary>
//        ///// 发送广播,通知刷新图库的显示
//        ///// </summary>
//        ///// <param name="path"></param>
//        //void SendBroadcastScanFile(Context context, string path)
//        //{
//        //    // 发送广播,通知刷新图库的显示
//        //    Intent scanIntent = new Intent(Intent.ActionMediaScannerScanFile);
//        //    scanIntent.SetData(Android.Net.Uri.FromFile(new File(path)));
//        //    context.SendBroadcast(scanIntent);
//        //}
        /// <summary>
        /// 截图
        /// </summary>
        /// <param name="path"></param>
        public void SnapShot(string path)
        {
            try
            {
                int code = mPlayWindow.SnapShot(path);
                if (code == 0)
                {
                    //2021-09-01 增加发送广播,通知刷新图库的显示
                    HDLONUtils.SendBroadcastScanFile(this, path);
//        /// <summary>
//        /// 截图
//        /// </summary>
//        /// <param name="path"></param>
//        public void SnapShot(string path)
//        {
//            try
//            {
//                int code = mPlayWindow.SnapShot(path);
//                if (code == 0)
//                {
//                    //2021-09-01 增加发送广播,通知刷新图库的显示
//                    HDLONUtils.SendBroadcastScanFile(this, path);
                    //Android.Provider.MediaStore.Images.Media.InsertImage(this.getContentResolver(), path, "ss", "ss");
                    Toast.MakeText(this, Resources.GetString(Resource.String.screenshot_success), ToastLength.Short).Show();
                }
                else
                {
                    Toast.MakeText(this, Resources.GetString(Resource.String.screenshot_fail), ToastLength.Short).Show();
                }
            }
            catch (System.Exception e)
            {
                string error = e.Message;
            }
//                    //Android.Provider.MediaStore.Images.Media.InsertImage(this.getContentResolver(), path, "ss", "ss");
//                    Toast.MakeText(this, Resources.GetString(Resource.String.screenshot_success), ToastLength.Short).Show();
//                }
//                else
//                {
//                    Toast.MakeText(this, Resources.GetString(Resource.String.screenshot_fail), ToastLength.Short).Show();
//                }
//            }
//            catch (System.Exception e)
//            {
//                string error = e.Message;
//            }
            
            //运行到这,photoFile已经存在,这里需要获得这个文件的uri
            //* 分两种情况,android7.0以上和以下
            // 先存入临时目录,然后再移动到相册目录中
            //File photoFile = new File(path);
            //Android.Net.Uri photoUri;
//            //运行到这,photoFile已经存在,这里需要获得这个文件的uri
//            //* 分两种情况,android7.0以上和以下
//            // 先存入临时目录,然后再移动到相册目录中
//            //File photoFile = new File(path);
//            //Android.Net.Uri photoUri;
            //if (Build.VERSION.SdkInt >= 24)
            //if (Build.VERSION.PreviewSdkInt >= 24)
            //{
//            //if (Build.VERSION.SdkInt >= 24)
//            //if (Build.VERSION.PreviewSdkInt >= 24)
//            //{
            //    /**
            //     * FileProvider.getUriForFile(),这个方法中需要填写三个参数,
            //     * 第一个Context,
            //     * 第二个S
            //     * tring 任意
            //     * 第三个File
            //     */
            //    photoUri = FileProvider.GetUriForFile(this, "HDL Video SnapShot", photoFile);
//            //    /**
//            //     * FileProvider.getUriForFile(),这个方法中需要填写三个参数,
//            //     * 第一个Context,
//            //     * 第二个S
//            //     * tring 任意
//            //     * 第三个File
//            //     */
//            //    photoUri = FileProvider.GetUriForFile(this, "HDL Video SnapShot", photoFile);
            //}
            //else
            //{
            //    photoUri = Android.Net.Uri.FromFile(photoFile);
            //}
//            //}
//            //else
//            //{
//            //    photoUri = Android.Net.Uri.FromFile(photoFile);
//            //}
    
        }
//        }
        private ContentResolver getContentResolver()
        {
            throw new NotImplementedException();
        }
//        private ContentResolver getContentResolver()
//        {
//            throw new NotImplementedException();
//        }
        /// <summary>
        /// 设置顶部状态栏背景透明
        /// </summary>
        private void SetStatusBarColor()
        {
            Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);
            Window.SetStatusBarColor(Color.Transparent);
        }
//        /// <summary>
//        /// 设置顶部状态栏背景透明
//        /// </summary>
//        private void SetStatusBarColor()
//        {
//            Window.AddFlags(WindowManagerFlags.DrawsSystemBarBackgrounds);
//            Window.SetStatusBarColor(Color.Transparent);
//        }
        /// <summary>
        /// 必要的一些权限
        /// </summary>
        private void Permissions()
        {
            string[] mPermissionList = new string[]
            {
                Manifest.Permission.WriteExternalStorage,
                Manifest.Permission.ReadExternalStorage,
                Manifest.Permission.Camera,
                Manifest.Permission.RecordAudio
            };
//        /// <summary>
//        /// 必要的一些权限
//        /// </summary>
//        private void Permissions()
//        {
//            string[] mPermissionList = new string[]
//            {
//                Manifest.Permission.WriteExternalStorage,
//                Manifest.Permission.ReadExternalStorage,
//                Manifest.Permission.Camera,
//                Manifest.Permission.RecordAudio
//            };
            foreach (string permissions in mPermissionList)
            {
                if (ContextCompat.CheckSelfPermission(this, permissions) != 0)
                {
                    ActivityCompat.RequestPermissions(this, new string[] { permissions }, 1);
                }
            }
        }
//            foreach (string permissions in mPermissionList)
//            {
//                if (ContextCompat.CheckSelfPermission(this, permissions) != 0)
//                {
//                    ActivityCompat.RequestPermissions(this, new string[] { permissions }, 1);
//                }
//            }
//        }
        /// <summary>
        /// 点击事件
        /// </summary>
        /// <param name="v"></param>
        public void OnClick(View v)
        {
            if (v.Equals(ivBack))
            {
                this.Finish();
            }
        }
//        /// <summary>
//        /// 点击事件
//        /// </summary>
//        /// <param name="v"></param>
//        public void OnClick(View v)
//        {
//            if (v.Equals(ivBack))
//            {
//                this.Finish();
//            }
//        }
        protected override void OnDestroy()
        {
            base.OnDestroy();
//        protected override void OnDestroy()
//        {
//            base.OnDestroy();
            Stop();
            mPlayWindow.UninitPlayWindow();//销毁底层资源
        }
//            Stop();
//            mPlayWindow.UninitPlayWindow();//销毁底层资源
//        }
        /// <summary>
        /// 对讲监听
        /// </summary>
        class AudioTalkerListener : LCOpenSDK_TalkerListener
        {
            /// <summary>
            /// 对讲结果回调
            /// </summary>
            /// <param name="error"></param>
            /// <param name="type"></param>
            public override void OnTalkResult(string error, int type)
            {
                base.OnTalkResult(error, type);
//        /// <summary>
//        /// 对讲监听
//        /// </summary>
//        class AudioTalkerListener : LCOpenSDK_TalkerListener
//        {
//            /// <summary>
//            /// 对讲结果回调
//            /// </summary>
//            /// <param name="error"></param>
//            /// <param name="type"></param>
//            public override void OnTalkResult(string error, int type)
//            {
//                base.OnTalkResult(error, type);
                try
                {
                    System.Console.WriteLine("LC OnTalkResult error:" + error + "  type:" + type);
                    bool talkResult = false;
                    if (type == 99 || error.Equals("-1000") || error.Equals("0") || error.Equals("1") || error.Equals("3"))
                    {
                        talkResult = false;
                    }
                    else if (error.Equals("4"))
                    {
                        talkResult = true;
                    }
//                try
//                {
//                    System.Console.WriteLine("LC OnTalkResult error:" + error + "  type:" + type);
//                    bool talkResult = false;
//                    if (type == 99 || error.Equals("-1000") || error.Equals("0") || error.Equals("1") || error.Equals("3"))
//                    {
//                        talkResult = false;
//                    }
//                    else if (error.Equals("4"))
//                    {
//                        talkResult = true;
//                    }
                    if (!talkResult)
                    {
                        // 提示对讲打开失败
                        CurtActivity.StopTalk();
                        CurtActivity.RunOnUiThread(() =>
                        {
                            Toast.MakeText(CurtActivity, Resource.String.talk_open_failed, ToastLength.Short).Show();
                        });
                    }
                    else
                    {
                        CurtActivity.reverseCallFragment.PostAnswer();// post接听电话,给云端做记录
                        CurtActivity.reverseCallFragment.TimeStarts();//接通成功打开计时器
                    }
                }
                catch { }
            }
//                    if (!talkResult)
//                    {
//                        // 提示对讲打开失败
//                        CurtActivity.StopTalk();
//                        CurtActivity.RunOnUiThread(() =>
//                        {
//                            Toast.MakeText(CurtActivity, Resource.String.talk_open_failed, ToastLength.Short).Show();
//                        });
//                    }
//                    else
//                    {
//                        CurtActivity.reverseCallFragment.PostAnswer();// post接听电话,给云端做记录
//                        CurtActivity.reverseCallFragment.TimeStarts();//接通成功打开计时器
//                    }
//                }
//                catch { }
//            }
            public override void OnTalkPlayReady()
            {
                base.OnTalkPlayReady();
            }
//            public override void OnTalkPlayReady()
//            {
//                base.OnTalkPlayReady();
//            }
            public override void OnAudioReceive(byte[] bytes, int p1, int p2, int p3, int p4)
            {
                base.OnAudioReceive(bytes, p1, p2, p3, p4);
            }
//            public override void OnAudioReceive(byte[] bytes, int p1, int p2, int p3, int p4)
//            {
//                base.OnAudioReceive(bytes, p1, p2, p3, p4);
//            }
            public override void OnAudioRecord(byte[] bytes, int p1, int p2, int p3, int p4)
            {
                base.OnAudioRecord(bytes, p1, p2, p3, p4);
            }
//            public override void OnAudioRecord(byte[] bytes, int p1, int p2, int p3, int p4)
//            {
//                base.OnAudioRecord(bytes, p1, p2, p3, p4);
//            }
            public override void OnDataLength(int i)
            {
                base.OnDataLength(i);
            }
        }
//            public override void OnDataLength(int i)
//            {
//                base.OnDataLength(i);
//            }
//        }
        /// <summary>
        /// 播放、预览结果回调
        /// resultSource:  0--RTSP  1--HLS  5--DHHTTP  99--OPENAPI
        /// </summary>
        class PlayEventListener : LCOpenSDK_EventListener
        {
            public override void OnPlayerResult(int index, string code, int resultSource)
            {
                base.OnPlayerResult(index, code, resultSource);
                System.Console.WriteLine("LC OnPlayerResult index:" + index + "  code:" + code + "  resultSource:"+ resultSource);
            }
//        /// <summary>
//        /// 播放、预览结果回调
//        /// resultSource:  0--RTSP  1--HLS  5--DHHTTP  99--OPENAPI
//        /// </summary>
//        class PlayEventListener : LCOpenSDK_EventListener
//        {
//            public override void OnPlayerResult(int index, string code, int resultSource)
//            {
//                base.OnPlayerResult(index, code, resultSource);
//                System.Console.WriteLine("LC OnPlayerResult index:" + index + "  code:" + code + "  resultSource:"+ resultSource);
//            }
           
        }
    }
}
//        }
//    }
//}