title: SpeechRecognitionEngine RecognizeCompleted event doesn't fire
body: <p>I have been searching for this problem for a while but I didn't find anything helpful.
  I want perform a continuous speech recognition <code>using System.Speech.Recognition;</code> from a wav file however , I want to return the result when the recognition engine finish its work.
  I found a <a href="http://msdn.microsoft.com/en-us/library/system.speech.recognition.speechrecognitionengine.setinputtodefaultaudiodevice%28v=vs.110%29.aspx" rel="nofollow">solution</a>  to use <code>RecognizeCompleted</code> event handler but it doesn't fire at all.
  Recognition code:</p>
  
  <pre><code>        SpeechRecognitionEngine speechRecognitionEngine = null;
          bool completed = false;
          // create the engine
          speechRecognitionEngine = createSpeechEngine("en-GB");
  
          // hook to events
          speechRecognitionEngine.SpeechRecognized += new EventHandler&lt;SpeechRecognizedEventArgs&gt;(engine_SpeechRecognized);
          speechRecognitionEngine.RecognizeCompleted += new EventHandler&lt;RecognizeCompletedEventArgs&gt;(recognizer_RecognizeCompleted);
  
          // load dictionary
          speechRecognitionEngine.LoadGrammar(new DictationGrammar());
          speechRecognitionEngine.SetInputToWaveFile("C:\\Converted Audio\\BBC1 cut sport.wav");
  
          // start listening for continuous speech recognition 
          speechRecognitionEngine.RecognizeAsync(RecognizeMode.Multiple);
  
          while (!completed)
          {
              Thread.Sleep(333);
          }
  </code></pre>
  
  <p>Event handler code:</p>
  
  <pre><code>void recognizer_RecognizeCompleted(object sender, RecognizeCompletedEventArgs e)
      {
          completed = true;
      }
  </code></pre>