2011-02-01 10 views
10

私は、さまざまなテキストコマンドを解釈するソフトウェアをすべてカスタムで作成しようとしています。私はSystem.Speech.Recognitionを使用していますが、それは驚くほどうまく機能しますが、私が "Delete"、 "Close"、 "Correct"などと言うと、いつでもデフォルトになりますWindows(7)の実装。 System.Speech.Recognitionでそれを回避する方法はありますか?そうでない場合は、どのC#.NETライブラリをお勧めしますか?組み込みの音声認識コマンドを無効にしますか?

答えて

12

SpeechRecognizerの代わりにSpeechRecognitionEngineを使用します。
これを試してみてください:

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