Получить пользовательский ввод из речи?
Я только начал опробовать возможности Windows Speech to Text в C # .Net. В настоящее время у меня есть основы работы (IE - скажи что-нибудь, и он будет предоставлять вывод на основе того, что вы говорите). Тем не менее, я изо всех сил пытаюсь выяснить, как на самом деле получить пользовательский ввод в качестве переменной.
То, что я имею в виду, это, например. Если пользователь говорит:
"Call me John"
Тогда я хочу быть в состоянии взять словоJohn
в качестве переменной, а затем сохранить, как, скажем, имя пользователя лиц.
Мой нынешнийSpeechRecognized
Событие выглядит следующим образом:
void zeusSpeechRecognised(object sender, SpeechRecognizedEventArgs e)
{
writeConsolas(e.Result.Text, username);
switch (e.Result.Grammar.RuleName)
{
case "settingsRules":
switch (e.Result.Text)
{
case "test":
writeConsolas("What do you want me to test?", me);
break;
case "change username":
writeConsolas("What do you want to be called?", me);
break;
case "exit":
writeConsolas("Do you wish me to exit?", me);
break;
}
break;
}
}
NB:writeConsolas
это просто прославленная линия добавления кRichTextBox
.
Я хотел бы добавить ещеcase
который делает следующее:
case "call me"
username = e.Result.GetWordFollowingCallMe() //Obv not a method, but thats the general idea.
break;
Очевидно, такого метода не существует, но это общая идея, которую я хочу реализовать. Есть ли способ поиска по конкретным фразам (т.е.Call me
) и принять следующее слово?
РЕДАКТИРОВАТЬ: я должен отметить, что e.Result.Text возвращает только слова, которые могут соответствовать тексту в словаре.