找回密码
 立即注册
搜索

微软语音辨认SDK总结

微软语音辨认SDK总结:

CComPtr<ISpRecognizer> m_pSREngine;// 语音辨认引擎(recognition)的接口。

CComPtr<ISpRecoContext> m_pSRContext;// 辨认引擎上下文(context)的接口。

CComPtr<ISpRecoGrammar> m_pSRGrammar;// 辨认文法(grammar)的接口。

CComPtr<ISpStream> m_pInputStream;// 流()的接口。

CComPtr<ISpObjectToken> m_pToken;// 语音特征的(token)接口。

CComPtr<ISpAudio> m_pAudio;// 音频(Audio)的接口。(用来保存原来默许的输入流)

ULONGLONG ullGrammerID ;

CoInitialize(NULL);

m_pSREngine.CoCreateInstance ( CLSID_SpInprocRecognizer );

m_pSREngine->CreateRecoContext ( &m_pSRContext );//建立上下文

//这里是设置事情

HWND hwnd = GetSafeHwnd();

hr = m_pSRContext->SetNotifyWindowMessage(hwnd,WM_RECORD,0,0);

hr=m_pSRContext->SetInterest(SPFEI(SPEI_RECOGNITION),SPFEI(SPEI_RECOGNITION));

//这里是设置默许的音频输入

hr = SpCreateDefaultObjectFromCategoryId(SPCAT_AUDIOIN, &m_pAudio);

m_pSREngine->SetInput(m_pAudio,true);

//这里是加载默许的语法规则

ullGrammerID = 1000;

hr=m_pSRContext->CreateGrammar(ullGrammerID,&m_pSRGrammar);

WCHAR wszXMLFile[20]=L"";

MultiByteToWideChar(CP_ACP, 0,(LPCSTR)"cmd.xml" , -1, wszXMLFile, 256); //这里修正XML的目录

hr=m_pSRGrammar->LoadCmdFromFile(wszXMLFile,SPLO_DYNAMIC);

//开启语音辨认

m_pSRGrammar->SetRuleState( NULL,NULL,SPRS_ACTIVE );

hr=m_pSREngine->SetRecoState(SPRST_ACTIVE);

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评2

大人,此事必有蹊跷!
回复

使用道具 举报

hometo 2018-12-9 07:14:52 显示全部楼层
老哥,这波稳
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies