1
這裏是我的代碼,我不熟悉SpeechLib DLL我引用了一個網站,我只是試過。使用SpeechLib DLL語音到文本不觸發識別事件
我已經使用System.Speech命名空間對文本應用程序進行了語音操作。但是,我無法獲得100%的準確性,所以只有我只是在嘗試可用的可能性。
static void Main(string[] args)
{
wavRecoContext = new SpInProcRecoContext();
((SpInProcRecoContext)wavRecoContext).Recognition += new _ISpeechRecoContextEvents_RecognitionEventHandler(Program_Recognition);
((SpInProcRecoContext)wavRecoContext).Hypothesis += new _ISpeechRecoContextEvents_HypothesisEventHandler(Program_Hypothesis);
((SpInProcRecoContext)wavRecoContext).EndStream += new _ISpeechRecoContextEvents_EndStreamEventHandler(Program_EndStream);
grammar = wavRecoContext.CreateGrammar(0);
grammar.DictationLoad("", SpeechLoadOption.SLOStatic);
inputFileStream = new SpFileStream();
inputFileStream.Open("aboutus.wav", SpeechStreamFileMode.SSFMOpenForRead, false);
wavRecoContext.Recognizer.AudioInputStream = inputFileStream;
grammar.DictationSetState(SpeechRuleState.SGDSActive);
Console.ReadKey();
}
static void Program_Hypothesis(int StreamNumber, object StreamPosition, ISpeechRecoResult Result)
{
throw new NotImplementedException();
}
static void Program_EndStream(int StreamNumber, object StreamPosition, bool StreamReleased)
{
grammar.DictationSetState(SpeechRuleState.SGDSInactive);
}
static void Program_Recognition(int StreamNumber, object StreamPosition, SpeechRecognitionType RecognitionType, ISpeechRecoResult Result)
{
Console.WriteLine(Result.PhraseInfo.GetText(0, -1, true));
}
}
我無法弄清楚我在這裏犯了什麼錯誤。 如果有人在這個問題上有經驗,請給我解決方案。
如何在項目引用中添加SpeechLib?它是一個COM,但它不出現在COM列表中。 – Kiquenet