我刚刚开始尝试 C# .Net 中的 Windows Speech to Text 功能。我目前已经掌握了基础知识(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 仅返回可以与字典中的文本匹配的单词。