Я создал решение, которое использует microsoft SAPI для распознавания речи, определенной в файле грамматики.Kinect + SpCreateDefaultObjectFromCategoryId = SPERR_NOT_FOUND
Само по себе этот код работает нормально. Однако, когда я интегрировать его с той же программой, которая работает с Kinect SDK, он не будет работать на линии:
hr = cpRecognizer->SpGetDefaultTokenFromCategoryId(SPCAT_AUDIOIN,&pAudioToken);
//At this point, HR == -2147200966 == SPERR_NOT_FOUND
Я попытался закупорки в микрофон, который является внешним по отношению к Kinect в свободный порт микрофона и настройки это микрофон по умолчанию. Это тоже не приносило мне радости.
Затем я использую pAudioToken для вызова cpRecognizer-> SetInput (pAudioToken, TRUE);
Это невероятно полезно, спасибо. Я дам это, чтобы посмотреть, что это за сделка - в настоящее время я не могу найти константу SAPI_VER ... –
Когда я вызываю следующее: hr = SpEnumTokens (SPCAT_AUDIOIN, NULL, NULL, & cpEnum); // hr == S_OK hr = cpEnum-> GetCount (& ulNumTokens); // ulNumTokens == 0 –
Хорошо, давайте немного отступим. То, что вы действительно хотите, - это распознавание речи с помощью аудиовхода Kinect, правильно? Если это так, то вместо использования ISpObjectToken вы должны использовать потоковые интерфейсы (ISpStream, ISpStreamFormat, ISpAudio). Поскольку я незнаком с Kinect SDK, какие аудио-интерфейсы доступны для вас? –