Ошибка при тестировании API распознавания речи Windows (SAPI)

Я пытаюсь проверить следующий пример: Тест распознавания речи с использованием Windows SAPI

Код хорошо компилируется, но в процессе выполнения происходит сбой.

Возвращенный указатель на объект ISpRecognizer принимает значения NULL, как показано в следующем коде:

// This function exits when the word passed as parameter is said by the user
int start_listening(const std::string& word)
{
.....

HRESULT hr;

ISpRecognizer* recognizer;
hr = CoCreateInstance(CLSID_SpSharedRecognizer,
nullptr, CLSCTX_ALL, IID_ISpRecognizer,
reinterpret_cast<void**>(&recognizer)); <<<<<ERROR: recognizer =NULL<<< hr = REGDB_E_CLASSNOTREG<< MEAN "class not registered"
check_result(hr);

ISpRecoContext* recoContext;
hr = recognizer->CreateRecoContext(&recoContext);<<<<CRASH: TRY TO ACCESS TO
<<<<  A NULL  POINTER
...
...
...

Я использую Visual Studio 2015 на Windows 8.1 и ориентирован на платформу x64.

Знаете ли вы, почему указатель на ISPRecognizer равен NULL и почему я получаю HRESULT = REGDB_E_CLASSNOTREG?

0

Решение

Я думаю, что вы заранее не вызываете :: CoInitialize () и неправильно инициализируете ISpReognizer. У меня есть полностью рабочий пример в качестве ответа на другой вопрос Вот.

1

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

Других решений пока нет …

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