我刚刚开始在 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;
}
}
注意:writeConsolas
只是一个美化的附加行到RichTextBox
.
我想添加另一个case
执行以下操作:
case "call me"
username = e.Result.GetWordFollowingCallMe() //Obv not a method, but thats the general idea.
break;
显然,没有这样的方法,但这是我希望实现的一般想法。有没有办法搜索特定的短语(IE:)Call me
并使用以下单词?
编辑:我应该注意, e.Result.Text 只返回它可以与字典中的 Text 匹配的单词。