2012-04-23 35 views
1

私はMicrosoft Speech PlatformをKinectに統合しようとしていますが、私は方法:SpeechRecognitionEngine.InstalledRecognizers()を実行しました。クラスからメソッドを呼び出すと、実行は継続されません。私はこのメソッドを使ってKinect Recognizerを取得しています。InstalledRecognizers()が実行されません

問題が何ですか?事前に

RecognizerInfo obtenerReconocedorKinect() 
    { 

     String details; 

     System.Collections.ObjectModel.ReadOnlyCollection<RecognizerInfo> recs = SpeechRecognitionEngine.InstalledRecognizers(); 

     foreach (RecognizerInfo recInfo in recs) 
     { 
      if (recInfo.AdditionalInfo.ContainsKey("Kinect")) 
      { 
       details = recInfo.AdditionalInfo["Kinect"]; 
       if (details == "True" && recInfo.Culture.Name == "en-US") 
       { 
        return recInfo; 
       } 
      } 
     } 
     return null; 
    } 

ありがとう:これは私が法InstalledRecognizers()を使用しているコードの一部です。

+0

私はあなたのコードを試して、それは私のために正常に動作します。どのアセンブリを音声認識に使用していますか?また、コードが壊れても例外が表示されない場合は、一部の設定を変更してすべての例外をスローすることができます。Visual Studio 2010では、[デバッグ]> [例外]>すべてのチェックボックスをオンにします。次に、何がうまくいかないのかについての詳細情報を得るでしょう。 –

+0

http://www.microsoft.com/download/en/details.aspx?id=24974にx86バージョンをインストールしました。 Microsoft SDKs \ AssemblyのDLLを参照として追加しました – honnix

+0

例外はMicrosoft.Speech.dllのSystem.Runtime.InteropServices.COMExceptionです。追加情報:登録されていないクラスREGDB_E_CLASSNOTREG。 – honnix

答えて

2

だから、問題があった。

次のエラーとMicrosoft.Speech.dllでSystem.Runtime.InteropServices.COMException:登録されていないクラスREGDB_E_CLASSNOTREG

問題はで解決されていますKinect SDKを再インストールする。

+1

作品は、それを行うには痛みの種ですが、それの価値 –

+0

私はMicrosoft.Speech SDK 11と同じ取得... – guiomie

関連する問題