お世話になります。
このたび、 Microsoft Speech API (SAPI) 5.3. を使用した Windows7 及び Windows Server 2008 R2 のプラットフォームにて動作可能な音声認識プログラムを開発中です。
問題となっているのはSAPIの初期化(認識コンテクストの取得)部分で、Windows7 では問題が起こらず、Windows Server 2008 R2 でのみエラーが発生します。
エラーの内容を見る限りでは音声認識エンジンが見つからない、という内容だと思いますが、解決方法が分かりません。
以下に初期化部分のコードを記載します。
/* 認識コンテキスト */
CComPtr<ISpRecoContext> m_pclsRecoContext = NULL;
・・・
// 認識エンジン オブジェクト
CComPtr<ISpRecognizer> clsRecognizer = NULL;
・・・
// COMを初期化する
lResult = ::CoInitialize(NULL);
・・・
// 認識エンジンオブジェクトを生成する
lResult = clsRecognizer.CoCreateInstance(CLSID_SpInprocRecognizer);
・・・
// 認識コンテクストオブジェクトを生成する
lResult = clsRecognizer->CreateRecoContext(&m_pclsRecoContext); // ここでエラー発生(SPERR_RECOGNIZER_NOT_FOUND)
・・・
For Windows and Windows Server 2008 (http://msdn.microsoft.com/en-us/library/office/hh323805(v=office.14).aspx)
にあるように Windows Server 2008 では Microsoft Speech API (SAPI) 5.3. は対応している認識です。(Windows7 は 5.4. ですが、5.3. のI/Fで開発しています。)
Microsoft Speech Platform Overview (Microsoft Speech Platform) (http://msdn.microsoft.com/en-us/library/jj127858.aspx)
にもSAPIの記載がありますが、こちらではSAPI 5.4. となっており、混乱しています。
1日調査しましたが糸口が掴めず、悩んでます。
情報をいただきたく思います。