(5)添加一个CommonDialog控件,命名为Cdg_Select。在使用CommonDialog控件前需要在VB开发环境中执行"工程"/"部件"命令,调用"部件"窗体,并选中Microsoft Common Dialog Control 6.0(SP6)复选框添加部件。
(6)编写主要程序代码。
① 选择WAV文件,将其以流的形式打开,并将该流作为识别引擎的输入流;创建识别对象并加载识别规则。代码如下:
Private Sub Cmd_Browse_Click() With Cdg_Select .FileName = "" .CancelError = False .ShowOpen End With If Cdg_Select.FileName <> "" Then Set InProcRecognizer = New SpInprocRecognizer Set InProcRecoContext = InProcRecognizer.CreateRecoContext Dim FileName As String FileName = Cdg_Select.FileName Dim FileStream As SpFileStream Set FileStream = New SpFileStream FileStream.Open FileName Set InProcRecognizer.AudioInputStream = FileStream Set RecoContext = InProcRecognizer.CreateRecoContext Set Grammar = RecoContext.CreateGrammar(1) Grammar.DictationLoad End If End Sub ② 激活语音识别对象,代码如下:
Public Sub PlayPlug() On Error GoTo Cancel Txt_Show.Text = "" Grammar.DictationSetState SGDSActive Cancel: Exit Sub End Sub ③ 显示从WAV音频流识别出的字符串,该过程在识别上下文对象的Recognition事件中实现。代码如下:
Private Sub RecoContext_Recognition(ByVal StreamNumber As Long, _ ByVal StreamPosition As Variant, _ ByVal RecognitionType As SpeechLib.SpeechRecognitionType, _ ByVal Result As SpeechLib.ISpeechRecoResult) Txt_Show.Text = Result.PhraseInfo.GetText & Txt_Show.Text End Sub 心法领悟003:音频流的识别。