.net实现语音朗读功能

  现在越来越多的应用都添加了语音朗读功能,那下面就来一起看下如何通过.net来实现语音朗读功能。

  1、首先要要在项目中添加对Speech程序集的引用。如图:

 

  项目是WPF的,项目名称为MySpeech

  2、在MainWindow.xaml先设置程序界面。如图:

  程序具备“朗读”、“暂停”、“继续”、“结束”功能。

  3、在后台页面类文件中进行编码

  要先添加引用:using System.Speech.Synthesis;

        SpeechSynthesizer speaker;//声明语音合成引擎对象
        //开始朗读
        private void btnStart_Click(object sender, RoutedEventArgs e)
        {
            if (speaker == null)//进行非空判断,防止多次点击朗读按钮,造成多语音同时朗读
            {
                speaker = new SpeechSynthesizer();
                speaker.SpeakAsync(txtContent.Text);//开始朗读(异步)
            }

            speaker.SpeakCompleted += speaker_SpeakCompleted;//朗读结束事件
        }
        //朗读完毕执行方法
        void speaker_SpeakCompleted(object sender, SpeakCompletedEventArgs e)
        {
            speaker = null;
        }
        //暂停朗读
        private void btnSuspend_Click(object sender, RoutedEventArgs e)
        {
            if (speaker != null)
            {
                speaker.Pause();
            }
        }
        //继续朗读
        private void btnContinue_Click(object sender, RoutedEventArgs e)
        {
            if (speaker != null)
            {
                speaker.Resume();
            }
        }
        //结束当前朗读
        private void btnStop_Click(object sender, RoutedEventArgs e)
        {
            if (speaker != null)
            {
                //speaker.Pause();
                //speaker = null;
                speaker.SpeakAsyncCancelAll();
            }
        }

至此,简单的语音朗读小程序就完成了。欢迎大家在此基础上进行优化完善!

posted @ 2013-07-16 22:15  DotNet_Li  阅读(1022)  评论(0)    收藏  举报