首页 > 代码库 > C#把文字转换成声音

C#把文字转换成声音

在System.Speech命名空间下,SpeechSynthesizer类可以把文字读出来,一起来玩下~~

首先在Windows窗体项目中引入System.Speech。界面部分:

1

 

后台代码也很简单,只不过调用了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();
        }
    }
}

C#把文字转换成声音