文字转换为语音VB.NEt实现

前端之家收集整理的这篇文章主要介绍了文字转换为语音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

猜你在找的VB相关文章