【发布时间】:2019-08-15 04:01:05
【问题描述】:
我想尝试一下 Microsoft Speech API。我找到了this answer,它有效!我试图采用它来识别俄语。语法文件如下所示:
<GRAMMAR LANGID="419">
<DEFINE>
<ID NAME="TEST" VAL="1"/>
</DEFINE>
<RULE NAME="TEST" TOPLEVEL="ACTIVE">
<L>
<P>Привет</P>
<P>Пока</P>
</L>
</RULE>
</GRAMMAR>
代码取自the mentioned answer。但我得到一个错误:行
HRESULT hr = cpRecoGram->LoadCmdFromFile(L"D:\\data\\test\\reco_ru.cfg", SPLO_STATIC);
返回0x80045052(-2147200942):An attempt to load a CFG grammar with a LANGID different than other loaded grammars.
是否可以设置程序和/或环境来使用俄语语法文件?
环境:Windows 10 家庭版、Visual Studio 2017
【问题讨论】:
-
是十六进制还是十进制错误号?相关信息是什么? HRESULT 值是多少?
-
@Ben HRESULT 值为 -2147200942。 _com_error: IDispatch error #20050 得到了相关的消息,请仔细阅读。不知道是什么意思,用的是什么类型的数字。
-
SPERR_LANGID_MISMATCH 0x80045052 -2147200942 尝试加载具有不同于其他已加载语法docs.microsoft.com/en-us/previous-versions/office/developer/…的 LANGID 的 CFG 语法@
-
可能你需要用俄语初始化一个新引擎。
-
您需要一个俄语语音识别器。微软没有发布,据我所知,不存在这样的识别引擎。