public async Task StopAsync() { if (State != CodewordSpeechRecognizerState.Listening) { throw new InvalidOperationException(); } Logger.LogInfo("Stopping speech recognizer."); State = CodewordSpeechRecognizerState.Idle; await SpeechRecognizer.ContinuousRecognitionSession.StopAsync(); }
private async void ContinuousRecognitionSession_Completed(SpeechContinuousRecognitionSession sender, SpeechContinuousRecognitionCompletedEventArgs args) { bool shouldRestart = State == CodewordSpeechRecognizerState.Listening; State = CodewordSpeechRecognizerState.Idle; if (shouldRestart) { Logger.LogInfo("Timed out..."); await StartAsync(); } }