调试SAPI5文本到语音引擎

Debug sapi5 text to speech engine

本文关键字:语音 引擎 文本 SAPI5 调试      更新时间:2023-10-16

我目前正在使用TTS引擎,我的工作是使其与Microsoft SAPI5兼容。我在这里遵循了SAPI示例项目的漫长的教程,并成功地构建了发动机DLL。我在Regsvr32上注册了DLL,并将声音附加到注册表中。但是,当应用程序(在我的情况下使用NVDA屏幕读取器(称为我的引擎时,我得到了错误(来自NVDA日志(

COMError: (-2147221164, 'Class not registered', (None, None, None, 0, None))

我显然在引擎上做错了什么,但我不知道该如何调试。

您必须调试NVDA,而不是引擎。您需要弄清楚它尝试访问哪个类。一旦弄清楚,您需要检查为什么您没有在COM注册表中正确注册引擎。

有关更多详细信息,请参见

错误80040154(班级未注册异常(初始化vcprojectEngineObject(Microsoft.visualstudio.vcprojectEngine.dll(

根据SAPI样本,在IDL文件中声明了一个库(带有Libid(和我的引擎类(带有CLSID(,然后有一个.rgs文件,又会依次注册引擎在注册表中,在我的问题上,我确实将CLSID放置在语事下,因此发动机未正确注册。