参考网址:
(1)TTS-零基础入门-10分钟教你做一个语音功能 (2)、TTS-零基础入门之生成语音文件 (3)、TTS-零基础入门之停止列表中单条语音播报 (4)、TTS-零基础入门之语音模板化 (5)、TTS零基础入门之拒绝界面卡顿--加入线程
1、播放一段 string
private void button2_Click(object sender, EventArgs e){ SpVoice voice01 = new SpVoice();//该类是支持语音合成(TTS)的核心类。通过SpVoice对象调用TTS引擎,从而实现朗读功能。 //SpeechVoiceSpeakFlags spFlags01 = SpeechVoiceSpeakFlags.SVSFDefault;// ZC: 同步方式(在语音播放完毕之前,窗口会假死) SpeechVoiceSpeakFlags spFlags01 = SpeechVoiceSpeakFlags.SVSFlagsAsync;//异步的播放方式 string strSpeak = "阿发水电费布娃娃IE挖三说"; voice01.Speak(strSpeak, spFlags01);}
2、将string 转成 语音,然后存放到 磁盘上
private void button3_Click(object sender, EventArgs e){ SaveFileDialog saveFileDialog = new SaveFileDialog();//提示用户选择文件的保存位置 saveFileDialog.Filter = "All files (*.*)|*.*|wav files (*.wav)|*.wav|mp3 files (*.mp3)|*.mp3";//保存文件的格式 例如 All files (*.*)|*.* saveFileDialog.Title = "保存音频文件";//对话框的标题 saveFileDialog.FilterIndex = 2;//使用 FilterIndex 属性设置第一个显示给用户的类型筛选选项 saveFileDialog.RestoreDirectory = true;//对话框在关闭前是否还原当前目录 if (saveFileDialog.ShowDialog() == DialogResult.OK) { SpeechStreamFileMode SpFileMode = SpeechStreamFileMode.SSFMCreateForWrite; SpFileStream SpFileStream = new SpFileStream(); SpFileStream.Open(saveFileDialog.FileName, SpFileMode, false); // ZC: 保存文件 与 输出文件流 绑定 string speakWeather = "阿发水电费布娃娃IE挖三说"; SpeechVoiceSpeakFlags SpFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;//异步的播放方式 SpVoice voice = new SpVoice(); voice.AudioOutputStream = SpFileStream; voice.Speak(speakWeather, SpFlags); voice.WaitUntilDone(Timeout.Infinite); SpFileStream.Close(); MessageBox.Show("导出语音成功!"); }}
3、
4、
5、