2

我在 C# 中为 win 7 编写了一个应用程序,它通过在 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.

经过一番搜索,我发现其他人在这个论坛上遇到了非常相似的问题,但问题似乎没有得到解决。

有人有想法么?我是否需要有两个版本的语法文件,一个用于 XP,一个用于 Win Vista/7?如果是这样,有没有人知道有什么不同的并排解释,所以我可以想出一种简单的方法来从一个翻译到另一个?如果我确实有不同格式的语法文件,我是否可以在 SharedRecognizer 中加载旧版本,我假设它是一个 SAPI 5.3-4 类?或者我是否必须使用对 SAPI 5.1 dll 的 COM 调用而不是 System.Speech 命名空间?

非常感谢!!

4

1 回答 1

2

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

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

于 2010-08-27T23:18:04.617 回答