如何在vb.net中识别语音文本
我有下面的代码来识别我选择的语音文本如何在vb.net中识别语音文本,.net,vb.net,.net,Vb.net,我有下面的代码来识别我选择的语音文本 Public speechRecognitionEngine As SpeechRecognitionEngine Private Sub SpeechRecog() Try speechRecognitionEngine = New SpeechRecognitionEngine(SpeechRecognitionEngine.InstalledRecognizers()(0)) AddHandler speech
Public speechRecognitionEngine As SpeechRecognitionEngine
Private Sub SpeechRecog()
Try
speechRecognitionEngine = New SpeechRecognitionEngine(SpeechRecognitionEngine.InstalledRecognizers()(0))
AddHandler speechRecognitionEngine.SpeechRecognized, AddressOf engine_SpeechRecognized
Dim texts As Choices = New Choices()
texts.Add("HOW")
texts.Add("ARE")
texts.Add("YOU")
Dim wordsList As Grammar = New Grammar(New GrammarBuilder(texts))
speechRecognitionEngine.LoadGrammar(wordsList)
speechRecognitionEngine.SetInputToDefaultAudioDevice()
speechRecognitionEngine.RecognizeAsync(RecognizeMode.Multiple)
Catch ex As Exception
MessageBox.Show(ex.Message, "Voice recognition failed")
End Try
End Sub
Public reader As System.Speech.Synthesis.SpeechSynthesizer
Public Sub engine_SpeechRecognized(sender As Object, e As SpeechRecognizedEventArgs)
If e.Result.Confidence > 0.9 Then
usrText.Text = e.Result.Text
Else
reader = New Speech.Synthesis.SpeechSynthesizer
reader.SpeakAsync("Please speak clear and louder")
End If
End Sub
如果我说的是我选择的任何东西,那么它就起作用了。
如果信心超过0.9,则打印其他内容,并说“请讲清楚,大声点”
但如果我说的不是我的选择,那么它就什么也没做
有没有办法,如果有人说任何文本的选择,那么我可以说,无效文本
请帮帮我
提前感谢….您应该添加另一个处理程序: 使用RecognizeCompleted事件的处理程序,可以访问 RecognizeCompletedEventArgs对象中的RecognitionResult。如果 识别未成功,识别结果将为空。到 确定音频输入超时或中断是否导致 如果识别失败,您可以访问的属性 InitialSilenceTimeout、BabbleTimeout或InputStreamEnded
这就是为什么我总是强调让人们阅读文档。当人们不读它的时候,他们会错过一些重要的东西,而这些东西本来可以让他们免于陷入困境。当你只是盲目地跟随别人的在线示例演示代码/教程而不为自己着想时,你就不会帮助自己并错过重要的事情。作为记录,这个评论不是关于OP的,而是一般性的。只是一个有用的提示。。不要包含与你的问题没有直接关系的标签。因为它与C无关,所以标签不应该在那里。我知道你想接触到尽可能多的受众,但C#和VB.Net的差异很大,以至于“另一阵营”的人往往无法回答,他们想过滤掉其他语言的问题。我们希望能够专注于我们所知道的:-)有时候,当我只添加VB.Net时,我觉得没有得到足够的帮助。但在加入C#之后,我得到了一些快速的建议。这就是我在这里添加这两个标签的原因。但是谢谢你的建议。。。