用VB.NET实现一个语音播报功能

IT_pclstar 2012-08-11 09:23:52
用vb.net,从数据库里查询出一条数据,然后写一个语音播报功能,把这条数据读一遍。并在实现一个窗体上。类似与银行的报号机一样
...全文
569 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT_pclstar 2012-09-25
  • 打赏
  • 举报
回复
最近比较忙,挺长时间没来了。
问题已经解决了,谢谢哈
mystery1000 2012-08-13
  • 打赏
  • 举报
回复
Imports DotNetSpeech '(你得去网上下载)

#Region "语音识别http://www.microsoft.com/speech/download/sdk51/ ing"
' Dim WithEvents Rc As SpeechLib.SpSharedRecoContext
' Dim RG As ISpeechRecoGrammar
Public Sub SpeechRead(ByVal Str As String)
Dim voice As SpVoice = New SpVoice
Dim spFlags As SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags.SVSFDefault
voice.Voice = voice.GetVoices(String.Empty, String.Empty).Item(3) '024 E////3 chinese
voice.Speak(Str, SpeechVoiceSpeakFlags.SVSFDefault)
End Sub
Public Sub SpeechtoWave(ByVal Str As String)
Dim voice As SpVoice = New SpVoice
voice.Voice = voice.GetVoices(String.Empty, String.Empty).Item(3)
Dim SFd As New SaveFileDialog
SFd.Filter = "All files (*.*)|*.*|wav files (*.wav)|*.wav"
SFd.Title = "Save to a wave File"
SFd.FilterIndex = 2
SFd.RestoreDirectory = True
If SFd.ShowDialog = DialogResult.OK Then
Dim spfileMode As SpeechStreamFileMode = SpeechStreamFileMode.SSFMCreateForWrite
Dim sfstream As SpFileStream = New SpFileStream
sfstream.Open(SFd.FileName, spfileMode, False)
voice.AudioOutputStream = sfstream
voice.Speak(Str, SpeechVoiceSpeakFlags.SVSFDefault)
voice.WaitUntilDone(Timeout.Infinite)
sfstream.Close()

End If
End Sub
'Public Sub tingMyspeech()
' RG = Rc.CreateGrammar
' RG.CmdSetRuleIdState(0, SpeechRuleState.SGDSActive)

'End Sub
'Private Sub hearCMD(ByVal streamNumber As Integer, ByVal streamPosition As Object, ByVal RecognitionType As SpeechRecognitionType, ByVal Shengyin As ISpeechRecoResult) Handles Rc.Recognition
' 'Rc.Voice.Speak("I hear " & Shengyin.PhraseInfo.GetText, 11)
'End Sub
#End Region

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧