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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。