| | |
| | | |
| | | 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(); |
| | | // } |
| | | // } |
| | | //} |