2011-02-01 17 views
10

Próbuję budować oprogramowanie, które interpretuje różne komendy tekstowe, wszystkie w niestandardowy sposób. Używam System.Speech.Recognition i działa zaskakująco dobrze, ale nie potrafię sobie wyobrazić, jak obejść fakt, że za każdym razem, gdy mówię "Usuń", "Zamknij", "Popraw", itp., Otrzymam domyślną Implementacja systemu Windows (7). Czy jest jakiś sposób obejść to z System.Speech.Recognition? Jeśli nie, która biblioteka C# .NET poleciłabyś najbardziej?Wyłączyć wbudowane polecenia rozpoznawania mowy?

Odpowiedz

12

Użyj SpeechRecognitionEngine zamiast SpeechRecognizer.
Spróbuj tego:

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

Perfect! Dzięki. – Lazlo

Powiązane problemy