コード例 #1
0
        private void ImageProcessorOnCameraErrorEvent(object sender, CameraEventBase cameraErrorInfo)
        {
            switch (cameraErrorInfo.EventType)
            {
            case CameraEventType.Shutdown:
                //TakingPicture = false;
                //_dialogService.ShowInfo(cameraErrorInfo.Message);
                Dispose();
                break;

            case CameraEventType.Error:
                //TakingPicture = false;

                var ev = cameraErrorInfo as ErrorEvent;
                if (ev != null && ev.ErrorCode == ReturnValue.TakePictureAutoFocusNG)
                {
                    //_dialogService.ShowInfo("Не удалось сфокусироваться. Пожалуйста, повторите попытку.");
                    Dispose();
                    Initialize();
                }
                if (ev != null && ev.ErrorCode == ReturnValue.NotSupported)
                {
                    return;
                }
                break;
            }
        }
コード例 #2
0
        private void ImageProcessorOnCameraErrorEvent(object sender, CameraEventBase cameraError)
        {
            var handler = CameraErrorEvent;

            if (handler != null)
            {
                handler(this, cameraError);
            }
        }
コード例 #3
0
        protected virtual void RaiseCameraEvent(CameraEventBase eventBase)
        {
            EventHandler <CameraEventBase> handler = CameraErrorEvent;

            if (handler != null)
            {
                handler(this, eventBase);
            }
        }
コード例 #4
0
        private void ImageProcessorOnCameraErrorEvent(object sender, CameraEventBase cameraErrorInfo)
        {
            switch (cameraErrorInfo.EventType)
            {
            case CameraEventType.Shutdown:
                _logger.Trace("Пришло событие CameraEventType.Shutdown");

                TakingPicture = false;
                _dialogService.ShowInfo(cameraErrorInfo.Message);
                Dispose();
                UpdateCommands();
                break;

            case CameraEventType.Error:
                var oldCameraStatus = TakingPicture;
                TakingPicture = false;
                SetWindowStatus(true);
                UpdateCommands();

                var ev = cameraErrorInfo as ErrorEvent;
                if (ev != null && ev.ErrorCode == ReturnValue.NotSupported)
                {
                    _logger.Trace("Пришло событие ошибки CameraEventType.Error, Type: NotSupported");
                    //не убирать. пропадёт отсчёт
                    //camera is still in previous state, just some setting parameter is not supported
                    TakingPicture = oldCameraStatus;
                    return;
                }
                if (ev != null && ev.ErrorCode == ReturnValue.TakePictureAutoFocusNG)
                {
                    _dialogService.ShowInfo("Не удалось сфокусироваться. Пожалуйста, повторите попытку.");
                }
                else
                {
                    _dialogService.ShowInfo("Упс... Что-то пошло не так =(");
                }
                _logger.Error($"Пришло событие ошибки CameraEventType.Error, Type: {ev?.ErrorCode} , Message: {ev?.Message.ToString()}");

                //TODO разобраться как перезапустить камеру
                GoBack();
                break;
            }
        }
コード例 #5
0
        private void ImageProcessorOnCameraErrorEvent(object sender, CameraEventBase cameraErrorInfo)
        {
            switch (cameraErrorInfo.EventType)
            {
            case CameraEventType.Shutdown:
                // Dispose();

                break;

            case CameraEventType.Error:

                var ev = cameraErrorInfo as ErrorEvent;
                if (ev != null && ev.ErrorCode == ReturnValue.TakePictureAutoFocusNG)
                {
                    _dialogService.ShowInfo("Не удалось сфокусироваться. Пожалуйста, повторите попытку.");
                    //Dispose();
                    //Initialize();
                    //TODO Временное решение, вообще надо оставлять на этой же View
                    GoBack();
                    //_imageProcessor.StopLiveView();
                    //_imageProcessor.StartLiveView();
                    //_takePhotoEnable = true;
                }
                if (ev != null && ev.ErrorCode == ReturnValue.NotSupported)
                {
                    return;
                }
                else
                {
                    _dialogService.ShowInfo("Упс... Что-то пошло не так =(");
                }
                _logger.Error($"Пришло событие ошибки CameraEventType.Error, Type: {ev?.ErrorCode} , Message: {ev?.Message.ToString()}");
                GoBack();
                break;
            }
        }
コード例 #6
0
 private void ImageProcessorOnCameraErrorEvent(object sender, CameraEventBase cameraError)
 {
     CameraErrorEvent?.Invoke(this, cameraError);
 }
コード例 #7
0
        protected virtual void RaiseCameraEvent(CameraEventBase eventBase)
        {
            var handler = CameraErrorEvent;

            handler?.Invoke(this, eventBase);
        }
コード例 #8
0
 protected virtual void RaiseCameraEvent(CameraEventBase eventBase)
 {
     CameraErrorEvent?.Invoke(this, eventBase);
 }