/// <summary> /// Распознать печатный текст с помощью голосового управления /// </summary> /// <param name="cameraCommand"></param> /// <returns></returns> public async Task VoiceCommand(string cameraCommand) { switch (cameraCommand) { case "камера": { var photo = await CameraActions.TakePhoto(); if (photo == null) { return; } else { await RecognizeAndVoicePrintedText(photo); } break; } case "галерея": { MediaFile photo = await CameraActions.GetPhoto(); if (photo == null) { return; } else { await RecognizeAndVoicePrintedText(photo); } break; } } }
/// <summary> /// Сделать фото, распознать рукописный текст и озвучить результат /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void TakePhotoButton_Clicked(object sender, EventArgs e) { try { TakePhotoButton.IsEnabled = false; var photo = await CameraActions.TakePhoto(); if (photo == null) { return; } else { await RecognizeAndVoiceHandwrittenText(photo); } } catch (CameraException ex) { await SpeechSyntezer.VoiceResult(ex.Message); } catch (Exception) { await Navigation.PushAsync(new SomethingWentWrongPage()); } finally { TakePhotoButton.IsEnabled = true; } }
/// <summary> /// Выбор фото из галереи, распознование банкноты и озвучка номинала /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void GetPhotoButton_Clicked(object sender, EventArgs e) { try { GetPhotoButton.IsEnabled = false; MediaFile photo = await CameraActions.GetPhoto(); if (photo == null) { return; } else { await RecognizeAndVoiceBanknote(photo); } } catch (CameraException ex) { await SpeechSyntezer.VoiceResult(ex.Message); } catch (BanknotesDetectionException ex) { await SpeechSyntezer.VoiceResult(ex.Message); } catch (Exception) { await Navigation.PushAsync(new SomethingWentWrongPage()); } finally { GetPhotoButton.IsEnabled = true; } }
/// <summary> /// Выбрать фото из галереи, распознать печтаный текст и озвучить результат /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void GetPhotoButton_Clicked(object sender, EventArgs e) { try { GetPhotoButton.IsEnabled = false; var photo = await CameraActions.GetPhoto(); if (photo == null) { return; } else { await RecognizeAndVoicePrintedText(photo); } } catch (CameraException ex) { await SpeechSyntezer.VoiceResult(ex.Message); } catch (Exception ex) { await DisplayAlert("OK", ex.Message, "OK"); await Navigation.PushAsync(new SomethingWentWrongPage()); } finally { GetPhotoButton.IsEnabled = true; } }
/// <summary> /// Выполняет задачу заданную голосом на странице рукописного текста /// </summary> /// <param name="cameraCommand"></param> /// <returns></returns> public async Task DoCommandsActionOnHandwritten(string cameraCommand) { if (cameraCommand.Length < 3) { await SpeechSyntezer.VoiceResult("Такой команды не существует"); } else { if (cameraCommand.Contains("камер")) { var photo = await CameraActions.TakePhoto(); if (photo == null) { return; } else { await RecognizeAndVoiceHandwrittenText(photo); } return; } if (cameraCommand.Contains("гал")) { MediaFile photo = await CameraActions.GetPhoto(); if (photo == null) { return; } else { await RecognizeAndVoiceHandwrittenText(photo); } return; } if (cameraCommand.Contains("наз")) { await Navigation.PopToRootAsync(); return; } if (cameraCommand.Contains("повтор")) { if (detectedText != null) { SpeechSyntezer.CancelSpeech(); await SpeechSyntezer.VoiceResultInEnglish(detectedText); } return; } else { await SpeechSyntezer.VoiceResult("Такой команды не существует"); return; } } }
public void CinematicMovement(GameObject fObject) { cameraAction = CameraActions.FOLLOW; character = fObject.transform; transform.position = new Vector3(fObject.transform.position.x, fObject.transform.position.y + cameraYOffset, fObject.transform.position.z + cameraZOffset); transform.LookAt(new Vector3(fObject.transform.position.x, fObject.transform.position.y + 1f, fObject.transform.position.z + 5f)); relCameraPos = transform.position - fObject.transform.position; }
// Start is called before the first frame update void Start() { lifeMax = lifePoints; animator = gameObject.GetComponent <Animator>(); _MGR_Layer.Instance.SetOrderInLayer(gameObject.GetComponent <Renderer>()); mainCameraActions = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <CameraActions>(); }
void ShowUI() { EventTriggerListener.Get(InfoBtn.gameObject).OnClick += (go, data) => { bridgeInfo.GetComponent <Image>().DOFade(1, .3f); }; EventTriggerListener.Get(BackBtn.gameObject).OnClick += (go, data) => { mCurrentFocus = pos; mSphericalPos.r = 80; panelScript.gameObject.SetActive(false); BackBtn.GetComponent <Image>().DOFade(0, .3f); CameraActions.FocusAt(camera, mCurrentFocus, dir, mSphericalPos.r, .5f, t => { foreach (var mIcon in m_Icons) { mIcon.GetComponent <Image>().DOFade(1, .5f); } }); }; m_Icons.Clear(); var floatIconPrefab = Resources.Load <GameObject>("FloatIcon"); foreach (var focusInfo in infos) { var go = Instantiate(floatIconPrefab); go.transform.SetParent(FloatingRoot); m_Icons.Add(go.GetComponent <RectTransform>()); EventTriggerListener.Get(go).OnClick += (o, data) => { panelScript.gameObject.SetActive(true); panelScript.SetText(focusInfo.name, focusInfo.pos.y + "m", focusInfo.desc); BackBtn.GetComponent <Image>().DOFade(1, .5f); foreach (var mIcon in m_Icons) { mIcon.GetComponent <Image>().DOFade(0, .5f); } mSphericalPos.r = focusInfo.dist; mCurrentFocus = focusInfo.pos; CameraActions.FocusAt(Camera.main, focusInfo.pos, focusInfo.dir, focusInfo.dist, .5f, t => { }); }; } UpdateUI(); }
/* ###########################[MonoBehavior-Methods]########################### */ // Start is called before the first frame update void Awake() { characterController = GetComponent <CharacterController>(); cameraActions = GetComponent <CameraActions>(); inventory = GetComponent <InventorySystem>(); inputMaster = new InputMaster(); inputMaster.Player.Interact.performed += ctx => PickUp(); inputMaster.Player.DropAll.performed += ctx => DropAll(); }
IEnumerator Start() { bridgeInfo.GetComponent <Image>().color = new Color(1, 1, 1, 0); BackBtn.GetComponent <Image>().color = new Color(1, 1, 1, 0); panelScript.gameObject.SetActive(false); mCurrentFocus = pos; yield return(CameraActions.FocusAtCoroutine(camera, pos, dir, 80, .5f, t => { ShowUI(); mSphericalPos = SphericalCoordinateSystem.FromCartesian(camera.transform.localPosition - mCurrentFocus); })); yield return(null); }
private async Task InitMediaDevice() { try { if (!FaceDetector.IsSupported) { return; } var cameraDevice = await CameraActions.FindCameraDeviceByPanelAsync(Panel.Front); var settings = new MediaCaptureInitializationSettings { VideoDeviceId = cameraDevice.Id }; _mediaCapture = new MediaCapture(); await _mediaCapture.InitializeAsync(settings); var definition = new FaceDetectionEffectDefinition { SynchronousDetectionEnabled = false, DetectionMode = FaceDetectionMode.HighPerformance }; var faceDetectionEffect = (FaceDetectionEffect)await _mediaCapture.AddVideoEffectAsync(definition, MediaStreamType.VideoPreview); faceDetectionEffect.DesiredDetectionInterval = TimeSpan.FromMilliseconds(33); faceDetectionEffect.Enabled = true; faceDetectionEffect.FaceDetected += FaceDetectionEffect_FaceDetected; CameraViewer.Source = _mediaCapture; await _mediaCapture.StartPreviewAsync(); _previewProperties = _mediaCapture.VideoDeviceController.GetMediaStreamProperties(MediaStreamType.VideoPreview); } catch (Exception exception) { Messages = exception.ToString(); } }
private async void ButtonGetWebCamPicture_Click(object sender, RoutedEventArgs e) { var file = await CameraActions.TakeWebCamPictureAndReturnFile(false); PerformFaceAnalysis(file); }
// Use this for initialization void Awake() { cameraAction = CameraActions.IDLE; }
// private void Awake() { _cineBrain = GetComponent <CinemachineBrain>(); UpdateActiveCam(); ActiveCamera = this; }