Obter entrada do usuário do Speech?
Acabei de começar a experimentar os recursos de voz do Windows para texto em c # .net. Eu atualmente tenho o básico de trabalho (IE - Diga alguma coisa, e ele fornecerá saída com base no que você diz). No entanto, estou lutando para descobrir como realmente receber entrada do usuário como uma variável.
O que quero dizer com isso é por exemplo. Se o usuário disser:
"Call me John"
Então eu quero ser capaz de pegar a palavraJohn
como uma variável e, em seguida, armazene isso como, por exemplo, o nome de usuário das pessoas.
Minha correnteSpeechRecognized
evento é o seguinte:
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
é apenas uma linha de acréscimo glorificado a umRichTextBox
.
Eu gostaria de adicionar outrocase
que faz o seguinte:
case "call me"
username = e.Result.GetWordFollowingCallMe() //Obv not a method, but thats the general idea.
break;
Obviamente, não existe tal método, mas essa é a idéia geral que desejo implementar. Existe uma maneira de procurar por frases específicas (IE:Call me
) e tomar a seguinte palavra?
EDIT: devo observar, que o e.Result.Text só retorna palavras que podem corresponder ao texto no dicionário.