2011-02-01 4 views
10

Я пытаюсь создать программное обеспечение, которое интерпретирует различные текстовые команды, все по-своему. Я использую System.Speech.Recognition, и он работает на удивление хорошо, но я не могу понять, как обойти тот факт, что всякий раз, когда я говорю «Удалить», «Закрыть», «Исправить» и т. Д., Я получаю по умолчанию Реализация Windows (7). Есть ли способ обойти это с помощью System.Speech.Recognition? Если нет, то какую библиотеку C# .NET вы бы рекомендовали больше всего?Отключить встроенные команды распознавания речи?

ответ

12

Используйте SpeechRecognitionEngine вместо SpeechRecognizer.
Попробуйте это:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Speech.Recognition; 
namespace speech 
{ 
class Program 
{ 
    static void Main(string[] args) 
    { 
     SpeechRecognitionEngine mynizer = new SpeechRecognitionEngine(); 

     GrammarBuilder builder = new GrammarBuilder(); 
     builder.AppendDictation(); 
     Grammar mygram = new Grammar(builder); 
     mynizer.SetInputToDefaultAudioDevice(); 
     mynizer.LoadGrammar(mygram); 
     while (true) 
     { 
      Console.WriteLine(mynizer.Recognize().Text); 
     } 
    } 

} 
} 
+0

Отлично! Благодарю. – Lazlo

Смежные вопросы