コード例 #1
0
        /// <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();
                }
            }
        }
コード例 #2
0
 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;
     }));
 }