我創建了一個解決方案,它使用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常量... – 2012-02-09 03:38:42
當我撥打以下電話: hr = SpEnumTokens(SPCAT_AUDIOIN,NULL,NULL,&cpEnum); // hr == S_OK hr = cpEnum-> GetCount(&ulNumTokens); // ulNumTokens == 0 – 2012-02-09 03:43:35
好的,讓我們稍微退一步。你真正需要的是從Kinect音頻輸入中進行語音識別,對嗎?如果是這樣的話,那麼應該使用流接口(ISpStream,ISpStreamFormat,ISpAudio),而不是使用ISpObjectToken。由於我不熟悉Kinect SDK,因此您可以使用哪些音頻接口? – 2012-02-11 08:47:47