c++ - 调试 sapi5 文本到语音引擎

标签 c++ text-to-speech sapi nvda

我目前正在开发 TTS 引擎,我的工作是使其与 Microsoft SAPI5 兼容。我按照教程 here长期使用 SAPI 示例项目并成功构建了引擎 dll。我用 regsvr32 注册了 dll,并将语音附加到注册表中。然而,当一个应用程序(在我的例子中是 NVDA 屏幕阅读器)调用我的引擎时,我得到了错误(来自 NVDA 日志)

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

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

最佳答案

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

详情请见

Error 80040154 (Class not registered exception) when initializing VCProjectEngineObject (Microsoft.VisualStudio.VCProjectEngine.dll)

关于c++ - 调试 sapi5 文本到语音引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43580030/

相关文章:

c++:私有(private)构造函数意味着没有在标题中定义该类对象?

javascript - Node.js 上的文本到音频文件

c# - Speechsynthesizer (System.Speech.Synthesis.SpeechSynthesizer) - 在运行时更改音量或速率

javascript - 如何在javascript中将原始数据转换为音频

visual-studio-2008 - 如何修复 SAPI 5.1 头文件中的编译器错误

c# - 80040154 类未注册(HRESULT 异常 : 0x80040154 (REGDB_E_CLASSNOTREG))

c++ - 检测 C++/Win32 中的进程崩溃

C++ Vector 实现分配新对象

c++ - Valgrind 大小为 4 的无效读取 (OpenCV)

Python GTTS错误: AttributeError: 'NoneType' object has no attribute 'group'