Когда я использую общий распознаватель для ранее зарегистрированной темы медицинского диктовки, грамматика диктовки загружается без ошибок, но когда я меняю свой распознаватель на распознаватель Inproc, он не может загрузить тему диктовки. Есть ли способ загрузить тему диктовки, продолжая использовать ее в распознавателе процессов?
Мой код для загрузки грамматики выглядит так:
CComPtr<ISpObjectToken> cpObjectToken;
CComPtr<ISpAudio> cpAudio;
CComPtr<ISpRecognizer> cpEngine;
CComPtr<ISpRecoContext> cpRecoCtx;
CComPtr<ISpRecoGrammar> cpGram;
hr = cpEngine.CoCreateInstance(CLSID_SpInprocRecognizer);
hr = SpGetDefaultTokenFromCategoryId(SPCAT_AUDIOIN, &cpObjectToken);
hr = cpEngine->SetInput(cpObjectToken, TRUE);
hr = SpCreateDefaultObjectFromCategoryId(SPCAT_AUDIOIN, &cpAudio);
hr = cpEngine->SetInput(cpAudio, TRUE);
hr = cpEngine->CreateRecoContext(&cpRecoCtx);
hr = cpEngine->SetRecognizer(NULL);
hr = cpRecoCtx->CreateGrammar(1, &cpGram);
hr = cpGram->LoadDictation(L"Medical", SPLO_STATIC);