/// <summary> /// Sends the command. /// </summary> /// <param name="cmd">the command</param> /// <param name="action">Action.</param> private async Task DoCtrl(EZConstants.EZPTZCommand cmd, MotionEventActions action, View container) { EZConstants.EZPTZAction ptzAction = EZConstants.EZPTZAction.EZPTZActionSTOP; if (action == MotionEventActions.Down) { if (cmd == EZConstants.EZPTZCommand.EZPTZCommandDown) { container.SetBackgroundResource(Resource.Drawable.ptz_bottom_sel); } else if (cmd == EZConstants.EZPTZCommand.EZPTZCommandLeft) { container.SetBackgroundResource(Resource.Drawable.ptz_left_sel); } else if (cmd == EZConstants.EZPTZCommand.EZPTZCommandRight) { container.SetBackgroundResource(Resource.Drawable.ptz_right_sel); } else if (cmd == EZConstants.EZPTZCommand.EZPTZCommandUp) { container.SetBackgroundResource(Resource.Drawable.ptz_up_sel); } if (ctrlCompleted) { ctrlCompleted = false; var result = await CameraHelpers.ControlPTZ(camera.DeviceSerial, camera.CameraNo, cmd, EZConstants.EZPTZAction.EZPTZActionSTART, EZConstants.PtzSpeedDefault); if (result.HasError) { Toast.MakeText(this, result.Error.Description, ToastLength.Long).Show(); } ctrlCompleted = true; } } else if (action == MotionEventActions.Up) { container.SetBackgroundResource(Resource.Drawable.ptz_bg); var result = await CameraHelpers.ControlPTZ(camera.DeviceSerial, camera.CameraNo, cmd, EZConstants.EZPTZAction.EZPTZActionSTOP, EZConstants.PtzSpeedDefault); if (result.HasError) { Toast.MakeText(this, result.Error.Description, ToastLength.Long).Show(); } } }
internal static Task <Core.Common.Result <bool> > ControlPTZ(string deviceSerial, int cameraNo, EZConstants.EZPTZCommand cmd, EZConstants.EZPTZAction action, int ptzSpeedDefault) { return(Task.Run(() => { var result = new Core.Common.Result <bool>(); try { var state = EZOpenSDK.Instance.ControlPTZ(deviceSerial, cameraNo, cmd, action, EZConstants.PtzSpeedDefault); result.Model = state; } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); result.HasError = true; result.Error = new Core.Common.Error() { Description = e.Message, Exception = e }; } return result; })); }