У нас есть своя редакция тезиса, и один из экспертов сказал, что для улучшения нашей системы распознавания речи необходимо добавить способ обработки команды.Выполнять команды с речью асинхронно
Например, если я дать команду по умолчанию
case "What time is it?":
WVASRS.Speak("time");
break;
Я хочу, чтобы система была в состоянии сообщить пользователю, что команда по-прежнему обработки, прежде чем пользователь может дать другую команду. Что-то вроде:
//I will give a command while the the other command is processing
case "What day is it":
WVASRS.Speak("day");
break;
WVASRS.Speak("Another command is still processing. Please Wait for a few seconds before you can give another command.");
Ну, если что-то найдено на MSDN, но он просто ничего не делает. вот фрагмент:
// Assign input to the recognizer and start asynchronous
// recognition.
recognizer.SetInputToDefaultAudioDevice();
completed = false;
Console.WriteLine("Starting asynchronous recognition...");
recognizer.RecognizeAsync(RecognizeMode.Multiple);
// Wait 30 seconds, and then cancel asynchronous recognition.
Thread.Sleep(TimeSpan.FromSeconds(30));
recognizer.RecognizeAsyncCancel();
// Wait for the operation to complete.
while (!completed)
{
Thread.Sleep(333);
}
Console.WriteLine("Done.");
Ничего не делая, возможно, программа запускается и завершается до того, как речевой рекордер завершит работу. Если бы вы могли добавить более подробную информацию о произошедшем, это было бы полезно –