Ejemplo n.º 1
0
        private async void PromptUserToSpeak()
        {
            string displayMessage = string.Empty;

            try
            {
                if (helper == null)
                {
                    helper = new SpeechHelper();
                    await helper.SetSpeechRecognizerPromptsAsync("Tell me more...", "");
                }

                SpeechRecognitionResult recognitionResult = await helper.ShowSpeechUIAsync();

                if (recognitionResult.Status == SpeechRecognitionResultStatus.Success)
                {
                    string resultText = recognitionResult.Text;
                    App.ViewModel.CurrentEntry.Details += resultText;
                }
            }
            catch (Exception ex)
            {
                displayMessage = ex.Message;
            }

            if (!string.IsNullOrEmpty(displayMessage))
            {
                await helper.DisplayMessage(displayMessage);
            }
        }
Ejemplo n.º 2
0
        private async void PromptUserToSpeak()
        {
            string displayMessage = string.Empty;

            try
            {
                if (helper == null)
                {
                    helper = new SpeechHelper();
                    await helper.SetSpeechRecognizerPromptsAsync("What would you like to do?", "Ex: new journal entry, show last entry");
                }

                SpeechRecognitionResult recognitionResult = await helper.ShowSpeechUIAsync();

                if (recognitionResult.Status == SpeechRecognitionResultStatus.Success)
                {
                    string result       = recognitionResult.Text;
                    string voiceCommand = (result.ToLower().Contains("new journal entry") || result.ToLower().Contains("add entry")) ? "AddEntry" :
                                          (result.ToLower().Contains("dear diary")) ? "EagerEntry" :
                                          ((result.ToLower().StartsWith("view") || result.ToLower().StartsWith("show")) && result.ToLower().Contains("entry")) ? "ViewEntry" : "";

                    switch (voiceCommand)
                    {
                    case "ViewEntry":
                        this.Frame.Navigate(typeof(ViewDiaryEntry), result);
                        break;

                    case "AddEntry":
                        this.Frame.Navigate(typeof(AddDiaryEntry), "");
                        break;

                    case "EagerEntry":
                        this.Frame.Navigate(typeof(AddDiaryEntry), result);
                        break;

                    default:
                        displayMessage = "Didn't understand that. Try again.";
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                displayMessage = ex.Message;
            }

            if (!string.IsNullOrEmpty(displayMessage))
            {
                await helper.DisplayMessage(displayMessage);
            }
        }