2010-09-01 84 views
3

使用下面的代码,它会起作用并返回第一个识别,但不返回其他任何内容。我究竟做错了什么?我想是在某种循环?语音识别引擎不会识别多次

public void Transcribe() 
    { 
     SpeechRecognitionEngine SRE = new SpeechRecognitionEngine(); 
     SRE.LoadGrammar(new DictationGrammar()); 

     SRE.SetInputToWaveFile(_fileName); 
     SRE.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(SRE_SpeechRecognized); 
     SRE.RecognizeCompleted += new EventHandler<RecognizeCompletedEventArgs>(SRE_RecognizeCompleted); 
     SRE.RecognizeAsync(RecognizeMode.Multiple);  
    } 

    void SRE_RecognizeCompleted(object sender, RecognizeCompletedEventArgs e) 
    { 
     Console.WriteLine(e.Result.Text); 
    } 

    void SRE_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) 
    {    
    } 

回答

3

使用SpeechRecognized作为您的事件处理程序来执行Console.WriteLine()。我刚才遇到了同样的事情。