c#的功能十分强大,也非常方便。
这里,我和大家分享下发音程序的制作。
首先,你要准备两样东西:
1.TTS发音类库:DotNetSpeech.dll
2.TTS发音引擎:微软TTS5.1语音引擎(中文).msi
这里附录下载地址:
TTS发音引擎(微软TTS5.1语音引擎(中文).msi):
http://download.csdn.net/source/2127563
TTS发音类库(DotNetSpeech.dll):
http://download.csdn.net/source/2143262
该实例下载地址:
http://download.csdn.net/source/2143262
下载完DotNetSpeech.dll后,要手动添加到vs中。步骤如下:
把鼠标移到右上边的解决方案----》右击解决方案----》选择“添加引用”-----》会弹出一个窗口----》选择“游览”项
----》找到你下载的“DotNetSpeech.dll”,就可以了
接着是在程序中添加它的命名空间,如下:
using DotNetSpeech; //发音类库
下面,给出个源代码和注释(是一个WinFor窗体程序):
首先,添加一个textBox命名为“textbox1”和一个Button命名为“button1”以及一个backgroundWorker控件命名为“backgroundWorker1”;
/// <summary> ///发音线程,来管理发音;如果,多处发音,可以创建多个; ///backgroundWorker的dowork事件,双击backgroundWorker1, 即可自动生成 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { SpeechVoiceSpeakFlags spFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync; SpVoice voice = new SpVoice(); voice.Rate = 0;//调整发音语速,可以为负数,如-3,0,5 voice.Speak(e.Argument.ToString(), spFlags); } /// <summary> /// 发音 /// </summary> /// <param name="content"></param> void read(object content) { try { backgroundWorker1.RunWorkerAsync(content); } catch (Exception er) { MessageBox.Show(er.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } } /// <summary> /// 点击按钮发音 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { read(textbox1.Text); }
如果你的程序,运行时,只能对英文或数字发音,而发不出中文。
说明你的电脑需要安装"微软TTS5.1语音引擎(中文).msi".下载地址如上。
安装完成后,点击控制面板----》选择“语音”-----》在“语言(L)”下面的下拉框里选择中文发音或有Chinese字样的选项
希望,对大家有帮助。