[ 本文适用于编写 Windows 运行时应用的 Windows 8.x 和 Windows Phone 8.x 开发人员。如果你要针对 Windows 10 进行开发,请参阅 最新文档 ]
了解如何选择要用于语音识别的安装语言。
此处,我们枚举了已安装在系统上的语言,标识了默认语言,并选择了不同的语言以供识别。
本主题基于快速入门:语音识别而构建。你应该已经大致了解了语音识别和识别约束。
要完成该教程,请阅读这些主题来熟悉此处讨论的技术:
语音识别器使用系统语音语言作为其默认识别语言。用户可在设备的“设置 > 系统 > 语音 > 语音语言”屏幕上设置此语言。
我们通过查看 systemSpeechLanguage 静态属性来识别默认语言。
已安装的语言在不同的设备之间可能会不同。如果对于特定的约束你依赖于某种语言,你应验证是否存在该语言。
注意 在安装新的语言包后,必须重新启动。如果指定的语言不受支持或未完成安装过程,将引发异常,其错误代码为 SPERR_NOT_FOUND (0x8004503a)。
通过检查 SpeechRecognizer 类的下列两种静态属性之一,来确定设备上受支持的语言:
supportedTopicLanguages—可与预定义的听写语法和 Web 搜索语法一起使用的 Language 对象的集合。
supportedGrammarLanguages—可与列表约束或语音识别语法规范 (SRGS) 文件一起使用的 Language 对象的集合。
要指定一种语言,请将 Language 对象传入 SpeechRecognizer 构造函数。
此处,我们将 "en-US" 指定为识别语言。
可对主题约束进行配置,方法是将 SpeechRecognitionTopicConstraint 添加到 SpeechRecognizer 的 constraints 集合,然后调用 compileConstraintsAsync。如果识别器未使用支持的主题语言进行初始化,则将返回 TopicLanguageNotSupported 的 speechRecognitionResultStatus。
可对列表约束进行配置,方法是将 speechRecognitionListConstraint 添加到 SpeechRecognizer 的 constraints 集合,然后调用 compileConstraintsAsync。你无法直接指定自定义列表的语言。该列表将改为使用识别器的语言进行处理。
SRGS 语法是由 SpeechRecognitionGrammarFileConstraint 类表示的开放式标准 XML 格式。与自定义列表不同,你可以在 SRGS 标记中指定语法语言。如果识别器未使用与 SRGS 标记相同的语言进行初始化,compileConstraintsAsync 将失败并返回 TopicLanguageNotSupported 的 SpeechRecognitionResultStatus。
响应语音交互
设计人员
本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com
本文链接:http://www.ksxb.net/tnews/5064.html