资源描述:
《c 调用sapi实现语音识别的两种方法(c calls sapi to achieve two methods of speech recognition)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、c#调用sapi实现语音识别的两种方法(C#callsSAPItoachievetwomethodsofspeechrecognition)ThroughMicrosoft'sSAPI,notonlycanachievevoicesynthesisTTS,thesamecanachievespeechrecognitionSR.Herewewillintroduceandpastetherelevantcode.Therearetwomainways:1,theuseofCOMcomponenttechnology,whetheritisC++,C#,Delph
2、icanplaytheturn,thedevelopmentofthingsinXPandWIN7canrun.(notethatyouneedtointroducethesystemcomponentSpeechLib,andtheXPtoinstalltheidentificationengine)2,theuseofWIN7WindowsAPI,infact,eventuallycalltheSAPI,sothedevelopmentofthingscanonlyrunontopofWIN7.Infact,nomatterwhatkindofcall,it
3、iscalledSAPI,thelattercodeisrelativelysimple.Inthefirstway,youneedtopayattentiontotheMicrosoftSpeechobjectlibraryreferenceinsidetheCOMtabC#codePublicclassSpRecognition{Private,static,SpRecognition,_Instance=null;PrivateSpeechLib.ISpeechRecoGrammarisrg;Private,SpeechLib.SpSharedRecoCo
4、ntextClass,ssrContex=null;Public,delegate,void,StringEvent(string,STR);PublicStringEventSetMessage;Private,SpRecognition(){SsrContex=new,SpSharedRecoContextClass();ISRG=ssrContex.CreateGrammar(1);SpeechLib._ISpeechRecoContextEvents_RecognitionEventHandlerrecHandle=New_ISpeechRecoCont
5、extEvents_RecognitionEventHandler(ContexRecognition);SsrContex.Recognition=recHandle;}Public,void,BeginRec(){Isrg.DictationSetState(SpeechRuleState.SGDSActive);}Public,static,SpRecognition,instance(){If(_Instance=null)_Instance=new,SpRecognition();Return_Instance;}Public,void,CloseRe
6、c(){Isrg.DictationSetState(SpeechRuleState.SGDSInactive);}Private,void,ContexRecognition(int,iIndex,object,obj,SpeechLib.SpeechRecognitionType,type,SpeechLib.ISpeechRecoResult,result){If(SetMessage==null){SetMessage(result.PhraseInfo.GetText(0,-1,true));}}}Thesecondalsoneedstobeintro
7、duced,butthe.NET3.5classlibraryinWin7isintroducedC#codeUsingSystem;UsingSystem.Collections.Generic;UsingSystem.Linq;UsingSystem.Text;UsingSystem.Speech;UsingSystem.Speech.Recognition;UsingSystem.Globalization;UsingSystem.Windows.Forms;NamespaceStudyBeta{PublicclassSRecognition{Public
8、SpeechRecogn