我为Win 7用C#编写了一个应用程序,该应用程序通过在System.Speech中使用SharedRecognizer使用.NET 4.0和SAPI 5.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?如果是这样,没有人知道有什么不同之处的并排说明,以便我提出一种简单的方法来相互转换?如果我确实有不同格式的语法文件,是否可以将旧版本实际加载到我假设是SAPI 5.3-4类的SharedRecognizer中?还是我必须使用对SAPI 5.1 dll而不是System.Speech命名空间的COM调用?
非常感谢!!
最佳答案
好,我想我明白了。问题是SAPI 5.3和更高版本支持我使用的SRGS(语音识别语法规范)。但是,早期版本的SAPI不支持此格式,因此我遇到了错误。
我认为解决方法是改用文本语法,而我现在正试图弄清楚该如何做。有关更多信息,请参见this question!
关于c# - SAPI 5.4语法与SAPI 5.1兼容吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3588489/