Отладка текстового речевого движка sapi5

В настоящее время я работаю над механизмом TTS, и моя задача — сделать его совместимым с Microsoft SAPI5. Я следовал за учебником Вот Долго с примерами проектов SAPI и успешно построен двигатель DLL. Я зарегистрировал dll с regsvr32 и приложил голос в реестр. Однако, когда приложение (программа чтения с экрана NVDA в моем случае) вызывало мой движок, я получал ошибку (из журнала NVDA)

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

Я, очевидно, сделал что-то не так с двигателем, но я понятия не имею, как я могу отладить это.

1

Решение

Вы должны отлаживать NVDA, а не двигатель. Вы должны выяснить, к какому классу он пытается получить доступ. Как только вы поймете это, вам нужно проверить, почему вы не правильно зарегистрировали свой движок в реестре COM.

Для более подробной информации смотрите

Ошибка 80040154 (исключение класса не зарегистрировано) при инициализации VCProjectEngineObject (Microsoft.VisualStudio.VCProjectEngine.dll)

0

Другие решения

Согласно примеру SAPI, в файле idl объявлена ​​библиотека (с libid) и мой класс движка (с clsid), затем есть файл .rgs, который, в свою очередь, зарегистрирует движок в реестре, в моей проблеме я неправильно разместил clsid с libid, следовательно, двигатель не зарегистрирован должным образом.

0

По вопросам рекламы [email protected]