Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# UWP连续语音识别通配符_C#_Uwp_Speech Recognition_Speech - Fatal编程技术网

C# UWP连续语音识别通配符

C# UWP连续语音识别通配符,c#,uwp,speech-recognition,speech,C#,Uwp,Speech Recognition,Speech,我正在使用Windows通用应用程序,需要发出一个语音命令,接收用户的句子并填写屏幕上的字段。这些字段的示例包括姓名和出生日期。我不能在SRGS文件中使用,因为我不知道所有的名称,添加所有可能的名称将不起作用。是否有方法指示通配符值将显示在何处,然后稍后从命令中获取该值?谢谢 我认为您可以使用,也称为主题约束作为的约束 您可以像这样指定语音识别和TopicHint的场景: var dictationConstraint = new SpeechRecognitionTopicConstraint

我正在使用Windows通用应用程序,需要发出一个语音命令,接收用户的句子并填写屏幕上的字段。这些字段的示例包括姓名和出生日期。我不能在SRGS文件中使用,因为我不知道所有的名称,添加所有可能的名称将不起作用。是否有方法指示通配符值将显示在何处,然后稍后从命令中获取该值?谢谢

我认为您可以使用,也称为主题约束作为的约束

您可以像这样指定
语音识别
TopicHint
的场景:

var dictationConstraint = new SpeechRecognitionTopicConstraint(SpeechRecognitionScenario.FormFilling, "Person Name");
并将您的SRGS文件作为约束和此主题约束一起添加到
SpeechRecognizer

var dictationConstraint = new SpeechRecognitionTopicConstraint(SpeechRecognitionScenario.FormFilling, "Person Name");
var grammarfileConstraint = new SpeechRecognitionGrammarFileConstraint(sgrsFile);
speechRecognizer.Constraints.Add(dictationConstraint);
speechRecognizer.Constraints.Add(grammarfileConstraint);

虽然由于口音、噪音或其他可能的干扰,它无法确保100%正确地获取您的语音输入,但它会自动尽力将您的语音输入转换为“人名”主题

谢谢你的回答,但我有个问题。例如,如果我有一句话“搜索约翰·史密斯”。我能用“人名”键返回“约翰·史密斯”这个名字吗?@NotMike,是的,这是可能的,你可以捕捉语音输入并将姓名与你的本地数据库或姓名列表匹配,这是关于如何处理你的语音识别器的结果。我的回答可以接受吗?