2010-09-01 86 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()。我剛纔遇到了同樣的事情。