/// <summary> /// Execute cleanup tasks. /// </summary> protected void Cleanup() { if (speechRecognition != null) { speechRecognition.Recognized -= SpeechRecognition_Recognized; speechRecognition.NotRecognized -= SpeechRecognition_NotRecognized; speechRecognition.Stop(waitForCurrentRecognitionToComplete: false); IDisposable disposable = (speechRecognition as IDisposable); if (disposable != null) { disposable.Dispose(); } } speechSynthesis = null; }