wxr
2024-08-27 bfb3d0d4879dca8c59ff287c92f5113162f3a33a
OnPro/HDL-ON_Android/FengLinVideo/Form/ReverseCallFragment.cs
@@ -1,442 +1,442 @@

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using Android.App;
using Android.Content;
using Android.Icu.Text;
using Android.OS;
using Android.Runtime;
using Android.Util;
using Android.Views;
using Android.Widget;
using Com.ETouchSky;
using Com.Tool;
using HDL_ON.Common;
using HDL_ON.DAL.Server;
using HDL_ON_Android.FengLinVideo.Interface;
using Java.Util;
using Org.Json;
//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading;
//using Android.App;
//using Android.Content;
//using Android.Icu.Text;
//using Android.OS;
//using Android.Runtime;
//using Android.Util;
//using Android.Views;
//using Android.Widget;
//using Com.ETouchSky;
//using Com.Tool;
//using HDL_ON.Common;
//using HDL_ON.DAL.Server;
//using HDL_ON_Android.FengLinVideo.Interface;
//using Java.Util;
//using Org.Json;
namespace HDL_ON_Android.FengLinVideo.Form
{
    public class ReverseCallFragment : Fragment, View.IOnClickListener, VideoState
    {
        private VideoPhone mPhone;
        private string param = "";
        private bool isCalling = false;
//namespace HDL_ON_Android.FengLinVideo.Form
//{
//    public class ReverseCallFragment : Fragment, View.IOnClickListener, VideoState
//    {
//        private VideoPhone mPhone;
//        private string param = "";
//        private bool isCalling = false;
        private View mView;
//        private View mView;
        private ImageView screenshotImg;// 截图
        private ImageView unlockImg;// 开锁
        private LinearLayout answerLayout; // 接听
        private ImageView hangupImg; // 接听
        private ImageView answerImg;// 挂断
        private TextView hangupText;
//        private ImageView screenshotImg;// 截图
//        private ImageView unlockImg;// 开锁
//        private LinearLayout answerLayout; // 接听
//        private ImageView hangupImg; // 接听
//        private ImageView answerImg;// 挂断
//        private TextView hangupText;
        private TextView tvTip;
//        private TextView tvTip;
        private System.Threading.Timer timer = null;
        private int Time = 0;
//        private System.Threading.Timer timer = null;
//        private int Time = 0;
        public ReverseCallFragment(VideoPhone _phone, string _param)
        {
            this.mPhone = _phone;
            this.param = _param;
        }
//        public ReverseCallFragment(VideoPhone _phone, string _param)
//        {
//            this.mPhone = _phone;
//            this.param = _param;
//        }
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            mView = inflater.Inflate(Resource.Layout.fragment_call, container, false);
//        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
//        {
//            mView = inflater.Inflate(Resource.Layout.fragment_call, container, false);
            IniView();
            ReverseCall(param);
//            IniView();
//            ReverseCall(param);
            return mView;
        }
//            return mView;
//        }
        private void IniView()
        {
            screenshotImg = (ImageView)mView.FindViewById(Resource.Id.callScreenshotImg);//
            unlockImg = (ImageView)mView.FindViewById(Resource.Id.callUnlockImg);//
            tvTip = (TextView)mView.FindViewById(Resource.Id.callTipText);
            answerLayout = (LinearLayout)mView.FindViewById(Resource.Id.callAnswerLayout);
            hangupImg = (ImageView)mView.FindViewById(Resource.Id.callHangupImg);
            answerImg = (ImageView)mView.FindViewById(Resource.Id.callAnswerImg);
            hangupText = (TextView)mView.FindViewById(Resource.Id.callHangupText);
//        private void IniView()
//        {
//            screenshotImg = (ImageView)mView.FindViewById(Resource.Id.callScreenshotImg);//
//            unlockImg = (ImageView)mView.FindViewById(Resource.Id.callUnlockImg);//
//            tvTip = (TextView)mView.FindViewById(Resource.Id.callTipText);
//            answerLayout = (LinearLayout)mView.FindViewById(Resource.Id.callAnswerLayout);
//            hangupImg = (ImageView)mView.FindViewById(Resource.Id.callHangupImg);
//            answerImg = (ImageView)mView.FindViewById(Resource.Id.callAnswerImg);
//            hangupText = (TextView)mView.FindViewById(Resource.Id.callHangupText);
            screenshotImg.SetOnClickListener(this);
            unlockImg.SetOnClickListener(this);
            hangupImg.SetOnClickListener(this);
            answerImg.SetOnClickListener(this);
//            screenshotImg.SetOnClickListener(this);
//            unlockImg.SetOnClickListener(this);
//            hangupImg.SetOnClickListener(this);
//            answerImg.SetOnClickListener(this);
            hangupText.SetText(GetString(Resource.String.video_not_answer), null);
            tvTip.SetText(GetString(Resource.String.calling), null);
        }
//            hangupText.SetText(GetString(Resource.String.video_not_answer), null);
//            tvTip.SetText(GetString(Resource.String.calling), null);
//        }
        /// <summary>
        /// 一般是推送过的来电信息时调用此接口打开视频窗口。然后可调用mPhone.acceptRing(param);接收来电信息
        /// </summary>
        /// <param name="param"></param>
        private void ReverseCall(string param)
        {
            if (mPhone != null)
            {
                mPhone.ReverseCall(param);
            }
        }
//        /// <summary>
//        /// 一般是推送过的来电信息时调用此接口打开视频窗口。然后可调用mPhone.acceptRing(param);接收来电信息
//        /// </summary>
//        /// <param name="param"></param>
//        private void ReverseCall(string param)
//        {
//            if (mPhone != null)
//            {
//                mPhone.ReverseCall(param);
//            }
//        }
        /// <summary>
        /// 开锁
        /// </summary>
        private void Unlock()
        {
            //开锁,当收到来电信息时可进行开锁操作
            if (mPhone != null)
            {
                try
                {
                    unlockImg.Selected = true;
                    JSONObject ht = new JSONObject();
                    ht.Put("command", "open");//固定参数
                    ht.Put("room_id", 123); //动态参数 ,传递开门的房间号。这个开门口记录就能记录谁开的门
                    ht.Put("devType", 7); //固定参数
                    mPhone.SendCustomData(ht.ToString());
                }
                catch (Exception e)
                {
                    string erro = e.Message;
                }
            }
        }
//        /// <summary>
//        /// 开锁
//        /// </summary>
//        private void Unlock()
//        {
//            //开锁,当收到来电信息时可进行开锁操作
//            if (mPhone != null)
//            {
//                try
//                {
//                    unlockImg.Selected = true;
//                    JSONObject ht = new JSONObject();
//                    ht.Put("command", "open");//固定参数
//                    ht.Put("room_id", 123); //动态参数 ,传递开门的房间号。这个开门口记录就能记录谁开的门
//                    ht.Put("devType", 7); //固定参数
//                    mPhone.SendCustomData(ht.ToString());
//                }
//                catch (Exception e)
//                {
//                    string erro = e.Message;
//                }
//            }
//        }
        public static Thread unlockThread = null;//公开出来,关闭activity的时候要结束这个线程,不然会引起崩溃
        /// <summary>
        /// 更新开锁按钮状态,开锁成功,15秒内不给再点击按钮
        /// </summary>
        private void UpdataUnlockState()
        {
            try
            {
                if (unlockImg == null) return;
//        public static Thread unlockThread = null;//公开出来,关闭activity的时候要结束这个线程,不然会引起崩溃
//        /// <summary>
//        /// 更新开锁按钮状态,开锁成功,15秒内不给再点击按钮
//        /// </summary>
//        private void UpdataUnlockState()
//        {
//            try
//            {
//                if (unlockImg == null) return;
                unlockImg.Enabled = false;
//                unlockImg.Enabled = false;
                unlockThread = new Thread(() =>
                  {
                      try
                      {
                          Thread.Sleep(15 * 1000);
//                unlockThread = new Thread(() =>
//                  {
//                      try
//                      {
//                          Thread.Sleep(15 * 1000);
                          
                      Activity.RunOnUiThread(() =>
                      {
                          try {
                              if (unlockImg != null)
                                  unlockImg.Enabled = true;
                          }
                          catch { }
                      });
//                      Activity.RunOnUiThread(() =>
//                      {
//                          try {
//                              if (unlockImg != null)
//                                  unlockImg.Enabled = true;
//                          }
//                          catch { }
//                      });
                      }
                      catch { }
                  });//.Start();
//                      }
//                      catch { }
//                  });//.Start();
                unlockThread.Start();
//                unlockThread.Start();
                PostUnlock();
            }
            catch { }
        }
//                PostUnlock();
//            }
//            catch { }
//        }
        private string GetTime(int time)
        {
//        private string GetTime(int time)
//        {
            int m = time / 60;
            int s = time % 60;
//            int m = time / 60;
//            int s = time % 60;
            return UnitFormat(m) + ":" + UnitFormat(s);
//            return UnitFormat(m) + ":" + UnitFormat(s);
        }
//        }
        private static string UnitFormat(int i)
        {
            string retStr = null;
            if (i >= 0 && i < 10)
                retStr = "0" + i;
            else
                retStr = "" + i;
            return retStr;
        }
//        private static string UnitFormat(int i)
//        {
//            string retStr = null;
//            if (i >= 0 && i < 10)
//                retStr = "0" + i;
//            else
//                retStr = "" + i;
//            return retStr;
//        }
        /// <summary>
        /// 通话记录计时器,从拉流成功开始计算时间
        /// </summary>
        private void TimeStarts()
        {
            try
            {
                if (timer != null)
                    timer.Dispose();
//        /// <summary>
//        /// 通话记录计时器,从拉流成功开始计算时间
//        /// </summary>
//        private void TimeStarts()
//        {
//            try
//            {
//                if (timer != null)
//                    timer.Dispose();
                TimerCallback timerCallback = new TimerCallback(Tick);
                timer = new System.Threading.Timer(timerCallback, null, 0, 1000);
//                TimerCallback timerCallback = new TimerCallback(Tick);
//                timer = new System.Threading.Timer(timerCallback, null, 0, 1000);
            }
            catch (Exception) { }
        }
//            }
//            catch (Exception) { }
//        }
        private void TimeEnd()
        {
            Time = 0;
//        private void TimeEnd()
//        {
//            Time = 0;
            if (timer != null)
            {
                timer.Dispose();
                timer = null;
            }
        }
//            if (timer != null)
//            {
//                timer.Dispose();
//                timer = null;
//            }
//        }
        public void Tick(Object state)
        {
            try
            {
                Activity.RunOnUiThread(() =>
                {
                    try
                    {
                        Time++;
                        if (tvTip != null)
                            tvTip.SetText(GetTime(Time), null);
                    }
                    catch { }
                });
            }
            catch { }
        }
//        public void Tick(Object state)
//        {
//            try
//            {
//                Activity.RunOnUiThread(() =>
//                {
//                    try
//                    {
//                        Time++;
//                        if (tvTip != null)
//                            tvTip.SetText(GetTime(Time), null);
//                    }
//                    catch { }
//                });
//            }
//            catch { }
//        }
        /// <summary>
        /// 通话消息回调方法
        /// </summary>
        /// <param name="msg"></param>
        public void OnPhoneEvent(string msg)
        {
            try
            {
                //
                TextProtocol tp = new TextProtocol();
                tp.Parse(msg);
                string event1 = tp.GetString("event");
//        /// <summary>
//        /// 通话消息回调方法
//        /// </summary>
//        /// <param name="msg"></param>
//        public void OnPhoneEvent(string msg)
//        {
//            try
//            {
//                //
//                TextProtocol tp = new TextProtocol();
//                tp.Parse(msg);
//                string event1 = tp.GetString("event");
                switch (event1)
                {
                    case "EVT_RECV_CUSTOM_DATA":// 开锁成功
                        string data = tp.GetString("data");
                        UpdataUnlockState();
                        break;
                    case "EVT_StartStream":// 拉流成功,开始记录通话时间
                        isCalling = true;
                        TimeStarts();
                        hangupText.SetText(GetString(Resource.String.video_hang_up), null);
                        break;
                    case "EVT_StopStream":
                        if (isCalling == false)
                            PostReject();// 拒接
                        else
                            PostHangup();// 正常挂断
                        break;
                    case "EVT_SnapAck":
                        int error = tp.GetInt("error");
                        string filePath = tp.GetString("filePath");
                        if (error == 0)
                        {
                            screenshotImg.Selected = true;
                            PostScreenshot(filePath);
                        }
                        else
                        {
                            screenshotImg.Selected = false;
                        }
                        break;
                }
            }
            catch (Exception e)
            {
                string error = e.Message;
            }
        }
//                switch (event1)
//                {
//                    case "EVT_RECV_CUSTOM_DATA":// 开锁成功
//                        string data = tp.GetString("data");
//                        UpdataUnlockState();
//                        break;
//                    case "EVT_StartStream":// 拉流成功,开始记录通话时间
//                        isCalling = true;
//                        TimeStarts();
//                        hangupText.SetText(GetString(Resource.String.video_hang_up), null);
//                        break;
//                    case "EVT_StopStream":
//                        if (isCalling == false)
//                            PostReject();// 拒接
//                        else
//                            PostHangup();// 正常挂断
//                        break;
//                    case "EVT_SnapAck":
//                        int error = tp.GetInt("error");
//                        string filePath = tp.GetString("filePath");
//                        if (error == 0)
//                        {
//                            screenshotImg.Selected = true;
//                            PostScreenshot(filePath);
//                        }
//                        else
//                        {
//                            screenshotImg.Selected = false;
//                        }
//                        break;
//                }
//            }
//            catch (Exception e)
//            {
//                string error = e.Message;
//            }
//        }
        public void OnClick(View v)
        {
            if (v.Equals(answerImg))
            {
                //接收来电
                if (mPhone != null)
                {
                    if (mPhone.IsRinging)
                    {
                        string UserData = "user text";
                        //注意:RequestAudio 请求对方音频,RequestVideo请求对方视频 SendAudio发送本地音频 SendVideo 发送本地视频 一般门口不接收到视频,所以最好设置0,减少流量消耗
                        string param = string.Format("RequestAudio=1\r\n" + "RequestVideo=1\r\n" + "SendAudio=1\r\n" + "SendVideo=1r\n" + "UserData=%s\r\n", UserData);
                        mPhone.AcceptRing(param);
                        answerLayout.Visibility = ViewStates.Gone;
                        PostAnswer();
                    }
                }
            }
            else if (v.Equals(hangupImg))
            {
                if (mPhone != null)
                {
                    mPhone.HangUp();
                    TimeEnd();
                }
                Activity.Finish();
            }
            else if (v.Equals(screenshotImg))
            {
                //有视频过来可调用此接口进行拍照
                if (mPhone != null)
                {
                    // 内部储存/DCIM/Camera/.....jpg
                    screenshotImg.Selected = true;
                    SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
                    string time = format.Format(new Date(SystemClock.CurrentThreadTimeMillis()));
                    string ss = Android.OS.Environment.ExternalStorageDirectory.Path + "/DCIM/Camera";
                    string path = ss + "/" + time + ".jpg";
                    mPhone.Snap(path);
                    //2021-09-01 增加发送广播,通知刷新图库的显示
                    HDLONUtils.SendBroadcastScanFile(this.Context, path);
                }
            }
            else if (v.Equals(unlockImg))
            {
                Unlock();
            }
        }
//        public void OnClick(View v)
//        {
//            if (v.Equals(answerImg))
//            {
//                //接收来电
//                if (mPhone != null)
//                {
//                    if (mPhone.IsRinging)
//                    {
//                        string UserData = "user text";
//                        //注意:RequestAudio 请求对方音频,RequestVideo请求对方视频 SendAudio发送本地音频 SendVideo 发送本地视频 一般门口不接收到视频,所以最好设置0,减少流量消耗
//                        string param = string.Format("RequestAudio=1\r\n" + "RequestVideo=1\r\n" + "SendAudio=1\r\n" + "SendVideo=1r\n" + "UserData=%s\r\n", UserData);
//                        mPhone.AcceptRing(param);
//                        answerLayout.Visibility = ViewStates.Gone;
//                        PostAnswer();
//                    }
//                }
//            }
//            else if (v.Equals(hangupImg))
//            {
//                if (mPhone != null)
//                {
//                    mPhone.HangUp();
//                    TimeEnd();
//                }
//                Activity.Finish();
//            }
//            else if (v.Equals(screenshotImg))
//            {
//                //有视频过来可调用此接口进行拍照
//                if (mPhone != null)
//                {
//                    // 内部储存/DCIM/Camera/.....jpg
//                    screenshotImg.Selected = true;
//                    SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
//                    string time = format.Format(new Date(SystemClock.CurrentThreadTimeMillis()));
//                    string ss = Android.OS.Environment.ExternalStorageDirectory.Path + "/DCIM/Camera";
//                    string path = ss + "/" + time + ".jpg";
//                    mPhone.Snap(path);
//                    //2021-09-01 增加发送广播,通知刷新图库的显示
//                    HDLONUtils.SendBroadcastScanFile(this.Context, path);
//                }
//            }
//            else if (v.Equals(unlockImg))
//            {
//                Unlock();
//            }
//        }
        /// <summary>
        /// post 截图
        /// </summary>
        /// <param name="path">截图保留的路径</param>
        private void PostScreenshot(string path)
        {
            new Thread(() =>
            {
                try
                {
                    string[] str = path.Split("/");
                    string img_name = str.GetValue(str.Length - 1).ToString().Replace(".jpg", "");
                    byte[] images = FileUtlis.Files.ReadFileForPath(path);
                    Dictionary<string, object> d = new Dictionary<string, object>();
                    d.Add("callId", VideoActivity.CallId);
                    d.Add("images", images);
                    d.Add("imagesName", "_Android.jpg");
                    string jsonString = HttpUtil.GetSignRequestJson(d);
//        /// <summary>
//        /// post 截图
//        /// </summary>
//        /// <param name="path">截图保留的路径</param>
//        private void PostScreenshot(string path)
//        {
//            new Thread(() =>
//            {
//                try
//                {
//                    string[] str = path.Split("/");
//                    string img_name = str.GetValue(str.Length - 1).ToString().Replace(".jpg", "");
//                    byte[] images = FileUtlis.Files.ReadFileForPath(path);
//                    Dictionary<string, object> d = new Dictionary<string, object>();
//                    d.Add("callId", VideoActivity.CallId);
//                    d.Add("images", images);
//                    d.Add("imagesName", "_Android.jpg");
//                    string jsonString = HttpUtil.GetSignRequestJson(d);
                    string url = "/home-wisdom/app/fl/vi/screenshot";
                    ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString);
                    Log.Info("FengLinVideo", "Post Screenshot Response code=" + response.Code);
                }
                catch { }
//                    string url = "/home-wisdom/app/fl/vi/screenshot";
//                    ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString);
//                    Log.Info("FengLinVideo", "Post Screenshot Response code=" + response.Code);
//                }
//                catch { }
            }).Start();
        }
//            }).Start();
//        }
        /// <summary>
        /// post 接听电话记录
        /// </summary>
        private void PostAnswer()
        {
            new Thread(() =>
            {
                try
                {
                    Dictionary<string, object> d = new Dictionary<string, object>();
                    d.Add("uuid", VideoActivity.UUId);//丰林请求的唯一id string
                    d.Add("cmtID", VideoActivity.CmtID);//丰林社区id string
                    d.Add("roomno", VideoActivity.Roomno);//丰林房间号 string
                    d.Add("unitno", VideoActivity.Unitno);//丰林楼栋号 string
                    d.Add("HomeID", VideoActivity.HomeID);//丰林住宅id string
                    d.Add("callId", VideoActivity.CallId);//呼叫记录id int
                    string jsonString = HttpUtil.GetSignRequestJson(d);
//        /// <summary>
//        /// post 接听电话记录
//        /// </summary>
//        private void PostAnswer()
//        {
//            new Thread(() =>
//            {
//                try
//                {
//                    Dictionary<string, object> d = new Dictionary<string, object>();
//                    d.Add("uuid", VideoActivity.UUId);//丰林请求的唯一id string
//                    d.Add("cmtID", VideoActivity.CmtID);//丰林社区id string
//                    d.Add("roomno", VideoActivity.Roomno);//丰林房间号 string
//                    d.Add("unitno", VideoActivity.Unitno);//丰林楼栋号 string
//                    d.Add("HomeID", VideoActivity.HomeID);//丰林住宅id string
//                    d.Add("callId", VideoActivity.CallId);//呼叫记录id int
//                    string jsonString = HttpUtil.GetSignRequestJson(d);
                    string url = "/home-wisdom/app/fl/vi/answer";
                    ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString);
                    Log.Info("FengLinVideo", "Post Answer Response code=" + response.Code);
                }
                catch { }
//                    string url = "/home-wisdom/app/fl/vi/answer";
//                    ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString);
//                    Log.Info("FengLinVideo", "Post Answer Response code=" + response.Code);
//                }
//                catch { }
            }).Start();
        }
//            }).Start();
//        }
        /// <summary>
        /// post 挂断电话记录
        /// </summary>
        private void PostHangup()
        {
            new Thread(() =>
            {
                try
                {
                    Dictionary<string, object> d = new Dictionary<string, object>();
                    d.Add("callId", VideoActivity.CallId);//呼叫记录id int
                    d.Add("callDuration", Time);//通话时长(秒) int
                    string jsonString = HttpUtil.GetSignRequestJson(d);
//        /// <summary>
//        /// post 挂断电话记录
//        /// </summary>
//        private void PostHangup()
//        {
//            new Thread(() =>
//            {
//                try
//                {
//                    Dictionary<string, object> d = new Dictionary<string, object>();
//                    d.Add("callId", VideoActivity.CallId);//呼叫记录id int
//                    d.Add("callDuration", Time);//通话时长(秒) int
//                    string jsonString = HttpUtil.GetSignRequestJson(d);
                    string url = "/home-wisdom/app/fl/vi/hang-up";
                    ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString);
                    Log.Info("FengLinVideo", "Post Hangup Response code=" + response.Code);
                }
                catch { }
//                    string url = "/home-wisdom/app/fl/vi/hang-up";
//                    ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString);
//                    Log.Info("FengLinVideo", "Post Hangup Response code=" + response.Code);
//                }
//                catch { }
            }).Start();
        }
//            }).Start();
//        }
        /// <summary>
        /// post 拒接记录
        /// </summary>
        private void PostReject()
        {
            new Thread(() =>
            {
                try
                {
                    Dictionary<string, object> d = new Dictionary<string, object>();
                    d.Add("callId", VideoActivity.CallId);//呼叫记录id int
                    string jsonString = HttpUtil.GetSignRequestJson(d);
//        /// <summary>
//        /// post 拒接记录
//        /// </summary>
//        private void PostReject()
//        {
//            new Thread(() =>
//            {
//                try
//                {
//                    Dictionary<string, object> d = new Dictionary<string, object>();
//                    d.Add("callId", VideoActivity.CallId);//呼叫记录id int
//                    string jsonString = HttpUtil.GetSignRequestJson(d);
                    string url = "/home-wisdom/app/fl/vi/reject";
                    ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString);
                    Log.Info("FengLinVideo", "Post Reject Response code=" + response.Code);
                }
                catch { }
//                    string url = "/home-wisdom/app/fl/vi/reject";
//                    ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString);
//                    Log.Info("FengLinVideo", "Post Reject Response code=" + response.Code);
//                }
//                catch { }
            }).Start();
        }
//            }).Start();
//        }
        /// <summary>
        /// post 开锁记录
        /// </summary>
        private void PostUnlock()
        {
            new Thread(() =>
            {
                try
                {
                    Dictionary<string, object> d = new Dictionary<string, object>();
                    d.Add("callId", VideoActivity.CallId);//呼叫记录id int
                    string jsonString = HttpUtil.GetSignRequestJson(d);
//        /// <summary>
//        /// post 开锁记录
//        /// </summary>
//        private void PostUnlock()
//        {
//            new Thread(() =>
//            {
//                try
//                {
//                    Dictionary<string, object> d = new Dictionary<string, object>();
//                    d.Add("callId", VideoActivity.CallId);//呼叫记录id int
//                    string jsonString = HttpUtil.GetSignRequestJson(d);
                    string url = "/home-wisdom/app/fl/vi/unlock";
                    ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString);
                    Log.Info("FengLinVideo", "Post Reject Response code=" + response.Code);
                }
                catch { }
//                    string url = "/home-wisdom/app/fl/vi/unlock";
//                    ResponsePackNew response = HttpUtil.RequestHttpsPost(url, jsonString);
//                    Log.Info("FengLinVideo", "Post Reject Response code=" + response.Code);
//                }
//                catch { }
            }).Start();
        }
    }
}
//            }).Start();
//        }
//    }
//}