Использование TTS для преобразования голоса в QT5.5. Хорошо работает в Windows 10 и Windows XP. Но программа не работает в Windows 7. Отладка показывает, что CoCreateInstance()
возвращает ошибку. Функция GetLastError()
возвращает значение 1008.
Код выглядит следующим образом:
::CoInitialize(NULL);
HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_INPROC_SERVER, IID_ISpVoice, (void**)&m_pVoice);
LOG(QString::fromLatin1("hr:%1").arg(hr));
if (FAILED(CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_INPROC_SERVER, IID_ISpVoice, (void**)&m_pVoice)))
{
DWORD dw = GetLastError();
LOG(QString::fromLatin1("errorIspVoice:\t code:%1").arg((dw)));
return;
}