教你如何用C#制作文字转换成声音程序
投稿:hebedich
近突发奇想,想玩玩文字转语音的东东,想了下思路,用C#简单实现了下,分享给大家,打算下面搞搞语音识别,下次分享给大家
教你如何用C#制作文字转换成声音程序
在System.Speech命名空间下,SpeechSynthesizer类可以把文字读出来,一起来玩下~~
首先在Windows窗体项目中引入System.Speech。界面部分:
后台代码也很简单,只不过调用了SpeechSynthesizer类的一些方法:
using System.Windows.Forms; using System.Speech; using System.Speech.Synthesis; namespace WindowsFormsApplication1 { public partial class Form1 : Form { private SpeechSynthesizer ss; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { ss = new SpeechSynthesizer(); } private void buttonRead_Click(object sender, EventArgs e) { ss.Rate = trackBarSpeed.Value; ss.Volume = trackBarVolumn.Value; ss.SpeakAsync(txtMsg.Text); } private void buttonPause_Click(object sender, EventArgs e) { ss.Pause(); } private void buttonContinue_Click(object sender, EventArgs e) { ss.Resume(); } private void buttonRecord_Click(object sender, EventArgs e) { SpeechSynthesizer ss = new SpeechSynthesizer(); ss.Rate = trackBarSpeed.Value; ss.Volume = trackBarVolumn.Value; SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = "Wave Files|*.wav"; ss.SetOutputToWaveFile(sfd.FileName); ss.Speak(txtMsg.Text); ss.SetOutputToDefaultAudioDevice(); MessageBox.Show("完成录音~~","提示"); } private void buttonClose_Click(object sender, EventArgs e) { Application.Exit(); } } }