Как я могу остановить процесс, пока не найду слово в SpeechToText? - PullRequest
0 голосов
/ 10 июня 2019

Мне нужно, чтобы эта функция завершилась, когда я произнесу определенное слово, чтобы потом продолжить с другими вещами.

Я работаю над c # с библиотекой System.Speech.Recognition.Кроме того, я работаю на испанском языке, и я пробовал распознавание раньше, и это работает, но завершение с нажатием клавиши "запись".

public static void waitforstart() {
            while (true) {
                SpeechRecognitionEngine oEscucha = new SpeechRecognitionEngine();
                oEscucha.SetInputToDefaultAudioDevice();
                GrammarBuilder gr = new GrammarBuilder();
                oEscucha.LoadGrammar(new DictationGrammar());

                oEscucha.SpeechRecognized += Deteccion;
                oEscucha.RecognizeAsync(RecognizeMode.Single);

                Console.WriteLine("1");
                if (intro.IndexOf("botella", 0, StringComparison.CurrentCultureIgnoreCase) != -1) { //That chechs if "botella" is inside the text ignoring uppercase
                    break;
                }
        } }

1 Ответ

0 голосов
/ 11 июня 2019
public static void waitforstart() {
        while (true) {
            SpeechRecognitionEngine oEscucha = new SpeechRecognitionEngine();
            oEscucha.SetInputToDefaultAudioDevice();
            GrammarBuilder gr = new GrammarBuilder();
            oEscucha.LoadGrammar(new DictationGrammar());

            oEscucha.SpeechRecognized += Deteccion;
            oEscucha.Recognize();

            Console.WriteLine(intro);
            if (intro.IndexOf("botella", 0, StringComparison.CurrentCultureIgnoreCase) != -1) { //That chechs if "botella" is inside the text ignoring uppercase
                break;
            }
    } }
...