2011-02-01 5 views
10

저는 다양한 텍스트 명령을 해석하는 소프트웨어를 모두 사용자 정의 방식으로 작성하려고합니다. System.Speech.Recognition을 사용하고 놀랍게도 잘 작동하지만 "삭제", "닫기", "수정"등을 말할 때마다 기본값으로 끝날 것이라는 사실을 알아 채지 못합니다. 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