in FamilyNotes/Speech/SpeechManager.cs [713:747]
private async Task EndRecognitionSession()
{
// Detach event handlers.
SpeechRecognizer.ContinuousRecognitionSession.Completed -= ContinuousRecognitionSession_Completed;
SpeechRecognizer.ContinuousRecognitionSession.ResultGenerated -= ContinuousRecognitionSession_ResultGenerated;
// Stop the recognition session, if it's in progress.
if (IsInRecognitionSession)
{
#if VERBOSE_DEBUG
Debug.WriteLine( "SpeechManager: Ending continuous recognition session" );
#endif
try
{
if (SpeechRecognizer.State != SpeechRecognizerState.Idle)
{
await SpeechRecognizer.ContinuousRecognitionSession.CancelAsync();
}
else
{
await SpeechRecognizer.ContinuousRecognitionSession.StopAsync();
}
IsInRecognitionSession = false;
#if VERBOSE_DEBUG
Debug.WriteLine( "SpeechManager: Continuous recognition session ended" );
#endif
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
}
}
}