前端之家收集整理的这篇文章主要介绍了
文字转换为语音VB.NEt实现,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
- ImportsSystem.Speech.Synthesis
- ImportsSpeechLib
-
-
- PublicClassForm1
- PublicSubNew()
- '此调用是Windows窗体设计器所必需的。
- InitializeComponent()
- '在InitializeComponent()调用之后添加任何初始化。
- EndSub
- '分别用两种方法实现
- DimssAsSpeechSynthesizer'定义一个语音引擎访问全局变量
- DimvoiceAsSpVoice=NewSpVoice'调用第三方工具库SpeechLib
- PrivateSubForm1_Load(senderAsObject,eAsEventArgs)HandlesMyBase.Load
- ss=NewSpeechSynthesizer()'实例化
- DimvoicestringAsString=""'定义一个字符串
- ForEachivAsInstalledVoiceInss.GetInstalledVoices()'遍历已安装的语音引擎
- ComBoxVoice.Items.Add(iv.VoiceInfo.Name)'将其名字添加到组合框
- Next
- ComBoxVoice.SelectedIndex=0'默认显示第一个
- EndSub
-
- PrivateSubButtonRead_Click(senderAsObject,eAsEventArgs)HandlesButtonRead.Click
- voice.Voice=voice.GetVoices(String.Empty,String.Empty).Item(0)'设置中文语音
- 'voice.Voice=voice.GetVoices(String.Empty,String.Empty).Item(1)'设置英文语音,只读英文
- 'voice.Rate=trackBarSpeed.Value'设置语速
- 'voice.Volume=trackBarVolumn.Value'设置音量
- ss.SelectVoice(ComBoxVoice.SelectedItem)'选择语音引擎
- ss.Rate=trackBarSpeed.Value'设置语速
- ss.Volume=trackBarVolumn.Value'设置音量
- 'voice.Speak(txtMsg.Text,SpeechVoiceSpeakFlags.SVSFDefault)'同步朗读
- 'voice.Speak(txtMsg.Text,SpeechVoiceSpeakFlags.SVSFlagsAsync)'异步朗读
- ss.SpeakAsync(txtMsg.Text)'异步发出语音
-
- EndSub
-
- PrivateSubButtonPause_Click(senderAsObject,eAsEventArgs)HandlesButtonPause.Click
- ss.Pause()'暂停播放
- 'voice.Pause()
- EndSub
-
- PrivateSubButtonContinue_Click(senderAsObject,eAsEventArgs)HandlesButtonContinue.Click
- ss.Resume()'继续播放
- 'voice.Resume()
- EndSub
-
- PrivateSubButtonRecord_Click(senderAsObject,eAsEventArgs)HandlesButtonRecord.Click
- DimssAsSpeechSynthesizer=NewSpeechSynthesizer()'定义一个局部变量
- ss.Rate=trackBarSpeed.Value
- ss.Volume=trackBarVolumn.Value
- DimsfdAsSaveFileDialog=NewSaveFileDialog()'定义一个文件保存提示框,并且实例化
- sfd.Filter="WaveFiles|*.wav"'设置文件类型为语音文件(.wav)
- Ifsfd.ShowDialog=DialogResult.OKThen'如果选择了文件名
- ss.SetOutputToWaveFile(sfd.FileName)'输出音频文件
- ss.Speak(txtMsg.Text)
- ss.SetOutputToDefaultAudioDevice()
- MessageBox.Show("完成录音~~","提示")
- EndIf
- EndSub
-
- PrivateSubButtonClose_Click(senderAsObject,eAsEventArgs)HandlesButtonClose.Click
- Application.Exit()'应用退出
- EndSub
- EndClass