2012-02-18 10 views
0

"show numbers"コマンドを使用して、ファイルの参照に音声認識を使用する必要があります。フォルダーブラウザダイアログを開いたときに音声認識機能を起動し、ブラウザーダイアログウィンドウが閉じると、音声認識機能を終了します。 音声認識装置をC#をコードビハインドで完全に閉じるにはどうしたらいいですか?完全に近い音声認識装置

EDIT:あなたは完全に近いWSRしたくないのはなぜsapisvr.exe

答えて

0

を殺すために: 私は私の問題のための「醜い」解決策を見つけましたか?起動してシャットダウンするにはかなりの時間がかかります。 CoR(共有認識装置インスタンス(CLSID_SpSharedRecognizer))を作成し、認識装置の状態をSPRST_INACTIVEに設定することにより、WSRのリスニングを停止することができます。それはです。多くはです。

0

また、inproc SpeechRecognitionEngineを使用することもできます。

エンジンを作成し、適切な文法(読み上げ文法だけであっても)を読み込み、ファイルブラウザダイアログが開いている間はRecognize()を呼び出します。あなただけの、唯一の認識を行いたい場合は、whileループを残し、裸の認識呼び出すことができます

// This goes in your application initialization code 
var engine = new SpeechRecognitionEngine(); 
// Set event handlers here... 
// Load grammar here... 

// This goes in your code where you open the dialog and want 
// speech recognition 
while (isFileDialogOpen) { 
    engine.Recognize(); // It's probably not called 'engine' in your code ;) 
} 

が、私はwouldn:

このような何か(spitballing、VSからコピーされません)部屋が完全に静かで、あなた自身に迷惑をかけない限り、それをお勧めしません。

0

これは私が使用したものである:

Process[] processes = Process.GetProcessesByName("sapisvr"); 
foreach (var process in processes) 
    { 
     process.Kill(); 
    }