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#)