SAPI 5.4语法与SAPI 5.1兼容?

问题描述:

我在C#中为win 7编写了一个应用程序,它使用System.Speech中的SharedRecognizer来使用.NET 4.0和SAPI 5.4。一切工作在该环境中,但不在Windows XP上。SAPI 5.4语法与SAPI 5.1兼容?

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中加载旧版本,我假设它是一个SAPI 5.3-4类?或者我将不得不使用COM调用SAPI 5.1 dll而不是System.Speech命名空间?

非常感谢!

好吧,我想我明白了这一点。问题是SAPI 5.3及以上版本支持我使用的SRGS(语音识别语法规范)。但是,早期版本的SAPI不支持这种格式,因此我得到的错误。

我认为解决方法是使用文本语法,而现在我正试图弄清楚如何做到这一点。有关更多信息,请参阅this question