110,538
社区成员
发帖
与我相关
我的任务
分享
GrammarBuilder gb = new GrammarBuilder();
gb.Append("打开");
gb.Append(new Choices(new string[] { "工作文档","关闭" }));
Grammar g = new Grammar(gb);
g.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(g_SpeechRecognized);
sre.LoadGrammar(g);
sre.RecognizeAsync(RecognizeMode.Multiple);
}));
}
public void g_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
try
{
if (e.Result.Text.Equals("打开工作文档"))
{
Invoke((MethodInvoker)(() =>
{
//System.Diagnostics.Process.Start();
}));
}
}
catch (Exception i)
{
MessageBox.Show(i.Message);
}
}
gb.Append(new Choices(new string[] { "工作文档","关闭" }));
其中的:new Choices(new string[] { "工作文档","关闭" })怎样换成文本框内的内容呢,有个txtcmd.text,里面是输入的命令,如何才能放进gb.Append();里面能执行,我试过将文本框中的内容转换为string[]形式,但是提示出错。老大们帮忙想想该怎么办啊?文本框的内容怎么写无所谓只要能运行起来就行,一开始我的文本框内容是这样输入的:"工作文档,关闭",老大们有什么好办法啊。。。。for(var i=0; i<input.length; i++)
foreach(var ph in 查找所有匹配的词(tree, input.SubString(i)))
yield return ph