Beispiel #1
0
        private void OnVoiceRecognitionResults(object sender, ShopLensSpeechRecognizedEventArgs e)
        {
            var results = e.Phrase;

            if (!string.IsNullOrEmpty(results))
            {
                if (!tutorialRequested)
                {
                    if (results == cmdOpenCart)
                    {
                        StartCartIntent();
                    }
                    else if (results == cmdOpenList)
                    {
                        StartListIntent();
                    }
                    else if (results == cmdHelp)
                    {
                        var helpMessage = ConfigurationManager.AppSettings["MainHelpMsg"];
                        shopLensTts.Speak(helpMessage, needUserAnswerId);
                    }
                    else if (results == cmdRemind)
                    {
                        var helpMessage = ConfigurationManager.AppSettings["MainRemindMsg"];
                        shopLensTts.Speak(helpMessage, needUserAnswerId);
                    }
                    else if (results == cmdTutorialRequest)
                    {
                        RunUserTutorial();
                    }
                    else if (results == cmdTakePhoto)
                    {
                        ImageRecognizer.areVoiceCommandsOn = true;
                        ImageRecognizer.mainMenu           = this;
                        camera2Frag.LockFocus();
                    }
                    else
                    {
                        shopLensTts.Speak(askUserToRepeat, needUserAnswerId);
                    }
                }
                else if (results == cmdTutorialLikeShopLens)
                {
                    ContinueUserTutorial();
                }
                else
                {
                    shopLensTts.Speak(askUserToRepeat, needUserAnswerId);
                }
            }
        }
Beispiel #2
0
        private void OnVoiceRecResults(object sender, ShopLensSpeechRecognizedEventArgs e)
        {
            var results = e.Phrase;

            if (results == "yes")
            {
                AddToShoppingCart(guess, price);
                tts.Speak(guess + " was added to your shopping cart.", QueueMode.Flush, null, null);
                while (tts.IsSpeaking)
                {
                    Thread.Sleep(500);
                }

                mainMenu.WhatWouldUHaveMeDo();
            }
        }
        private void OnVoiceRecognitionResults(object sender, ShopLensSpeechRecognizedEventArgs e)
        {
            var results = e.Phrase;

            if (!string.IsNullOrEmpty(results))
            {
                var   cmdAddProduct     = ConfigurationManager.AppSettings["CmdAddCartList"];
                int   sessionCheckDelay = int.Parse(ConfigurationManager.AppSettings["VoicerCheckDelay"]);
                Regex addProductRegex   = new Regex(@"^" + cmdAddProduct + @"(?:\s\w+)+");

                if (results == cmdVoiceList)
                {
                    int    voicerAwaitTime = int.Parse(ConfigurationManager.AppSettings["VoicerPauseTime"]);
                    string endMessage      = ConfigurationManager.AppSettings["ListVoicingCompleteMsg"];

                    Task.Run(() =>
                    {
                        foreach (string item in prefs.GetPreferencesToList())
                        {
                            SpeakOut(item, sessionCheckDelay);
                            Thread.Sleep(voicerAwaitTime);
                        }

                        SpeakOut(endMessage, sessionCheckDelay);
                    }).ContinueWith((t) =>
                    {
                        if (t.IsFaulted)
                        {
                            System.Diagnostics.Debug.WriteLine(t.Exception);
                        }

                        AskAfterAction();
                    }, TaskScheduler.FromCurrentSynchronizationContext());
                }
                else if (addProductRegex.IsMatch(results))
                {
                    addItemButton.Enabled = false;
                    string itemToAdd  = results.Substring(cmdAddProduct.Length + 1).FirstCharToUpper();
                    string endMessage = itemToAdd + ConfigurationManager.AppSettings["AddedToListMsg"];

                    AddStringToList(itemToAdd);

                    Task.Run(() =>
                    {
                        SpeakOut(endMessage, sessionCheckDelay);
                    }).ContinueWith((t) =>
                    {
                        if (t.IsFaulted)
                        {
                            System.Diagnostics.Debug.WriteLine(t.Exception);
                        }

                        addItemButton.Enabled = true;
                        AskAfterAction();
                    }, TaskScheduler.FromCurrentSynchronizationContext());
                }
                else if (results == cmdHelp)
                {
                    var message = ConfigurationManager.AppSettings["ListHelpMsg"];
                    shopLensTts.Speak(message, needUserAnswerId);
                }
                else if (results == cmdRemind)
                {
                    var message = ConfigurationManager.AppSettings["ListRemindMsg"];
                    shopLensTts.Speak(message, needUserAnswerId);
                }
                else if (results == cmdOpenMain)
                {
                    Finish();
                }
                else if (results == cmdOpenCart)
                {
                    GoToShoppingCart();
                }
                else
                {
                    shopLensTts.Speak(askUserToRepeat, needUserAnswerId);
                }
            }
        }