我用C#为Win7编写了一个应用程序,它通过在System.Speech中使用SharedRecognizer来使用.NET 4.0和SAPI5.4。一切都可以在该环境中运行,但不能在Windows XP上运行。
在Win XP (安装了SAPI 5.1 )上,它似乎不喜欢我使用的语法xml文件。
程序在尝试读取语法文件时崩溃,并出现以下错误:
This semantic interpretation type 'tag-format' is not supported with this
version of the speech platform.经过一番搜索,我发现另一个人在this forum上也有类似的问题,但这个问题似乎一直没有得到解决。
有谁有什么想法吗?我是否需要有两个版本的语法文件,一个用于XP,另一个用于Win Vista/7?如果是这样的话,有没有人知道什么是不同的并排解释,这样我就可以想出一个简单的方法从一个翻译到另一个?如果我有不同格式的语法文件,我是否可以在SharedRecognizer中加载旧版本,我假设它是SAPI5.3-4类?或者我必须使用COM调用SAPI5.1DLL而不是System.Speech命名空间?
非常感谢!
发布于 2010-08-28 07:18:05
好了,我想我想通了。问题是SAPI 5.3和更高版本支持我使用的SRGS (语音识别语法规范)。然而,早期版本的SAPI不支持这种格式,因此我得到了错误。
我认为解决办法是使用文本语法,我现在正在尝试如何做到这一点。有关更多信息,请参阅this question!
https://stackoverflow.com/questions/3588489
复制相似问题