2010-08-27 92 views
2

我在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命名空間?

非常感謝!

回答

2

好吧,我想我明白了這一點。問題是SAPI 5.3及以上版本支持我使用的SRGS(語音識別語法規範)。但是,早期版本的SAPI不支持這種格式,因此我得到的錯誤。

我認爲解決方法是使用文本語法,而現在我正試圖弄清楚如何做到這一點。有關更多信息,請參閱this question