文字转换为语音VB.NEt实现
ImportsSystem.Speech.SynthesisImportsSpeechLibPublicClassForm1PublicSubNew()'此调用是Windows窗体设计器所必需的。InitializeComponent()'在InitializeComponent()调用之后添加任何初始化。EndSub'分别用两种方法实现DimssAsSpeechSynthesizer'定义一个语音引擎访问全局变量DimvoiceAsSpVoice=NewSpVoice'调用第三方工具库SpeechLibPrivateSubForm1_Load(senderAsObject,eAsEventArgs)HandlesMyBase.Loadss=NewSpeechSynthesizer()'实例化DimvoicestringAsString=""'定义一个字符串ForEachivAsInstalledVoiceInss.GetInstalledVoices()'遍历已安装的语音引擎ComboxVoice.Items.Add(iv.VoiceInfo.Name)'将其名字添加到组合框NextComboxVoice.SelectedIndex=0'默认显示第一个EndSubPrivateSubButtonRead_Click(senderAsObject,eAsEventArgs)HandlesButtonRead.Clickvoice.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)'异步发出语音EndSubPrivateSubButtonPause_Click(senderAsObject,eAsEventArgs)HandlesButtonPause.Clickss.Pause()'暂停播放'voice.Pause()EndSubPrivateSubButtonContinue_Click(senderAsObject,eAsEventArgs)HandlesButtonContinue.Clickss.Resume()'继续播放'voice.Resume()EndSubPrivateSubButtonRecord_Click(senderAsObject,eAsEventArgs)HandlesButtonRecord.ClickDimssAsSpeechSynthesizer=NewSpeechSynthesizer()'定义一个局部变量ss.Rate=trackBarSpeed.Valuess.Volume=trackBarVolumn.ValueDimsfdAsSaveFileDialog=NewSaveFileDialog()'定义一个文件保存提示框,并且实例化sfd.Filter="WaveFiles|*.wav"'设置文件类型为语音文件(.wav)Ifsfd.ShowDialog=DialogResult.OKThen'如果选择了文件名ss.SetOutputToWaveFile(sfd.FileName)'输出音频文件ss.Speak(txtMsg.Text)ss.SetOutputToDefaultAudioDevice()MessageBox.Show("完成录音~~","提示")EndIfEndSubPrivateSubButtonClose_Click(senderAsObject,eAsEventArgs)HandlesButtonClose.ClickApplication.Exit()'应用退出EndSubEndClass
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。