.net 中文语音朗读

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net 中文语音朗读相关的知识,希望对你有一定的参考价值。

一、环境

系统:windowsxp ghost sp3

        .net 4.0

编程工具:vs 2010

二、步骤

1、确定语言包:控制面板->语言。如果系统安装的是windowsxp的ghost版本,这里的“语音选择”有可能只有Microsoft Sam一个。这样朗读声就只有英文的,例如“test111”,朗读发出的声音就是“one hundred eleven”。

技术分享

2、如果出现上述情况,则需要下载一个语言包。我下载了这个ScanSoft-MeiLing-ChineseMandarinVoice。下载地址:http://vdisk.weibo.com/s/zMVtEa2eiNyjB。安装的时候注意,使用默认的安装目录,不要修改。

技术分享

3、安装完成之后,继续回到控制面板->语言。这个时候“语言选择”这里会出现ScanSoft Mei-Ling_Full_22kHz。说明你上一步安装成功了,选择这个。

技术分享

三、实现

1、vs新建项目。添加引用System.Speech。引入System.Speech.Synthesis命名空间。

2、代码如下。界面上有一个tbx‘toRead的textbox。tbx中输入你要朗读的文字。

        private void button1_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(tbxtoRead.Text))
            {
                return;
            }
            // 一new一speech就搞定  
            SpeechSynthesizer sp = new SpeechSynthesizer();
            sp.SpeakCompleted += (s, arg) => button1.Enabled = true;

            // 开始读啦
            button1.Enabled = false;
            sp.SpeakAsync(tbxtoRead.Text); 
        }

 

以上是关于.net 中文语音朗读的主要内容,如果未能解决你的问题,请参考以下文章

Android 轻松实现语音朗读

delphi SpVoice1语音朗读,如何知道当前朗读到啥位置了,或者如何知道已朗读结束?

一个基于Windows Vista speech API5 3以及WPF技术的语音朗读代码

Delphi - OLE类实现TTS方式语音朗读

TTS语音朗读功能不小心删除了,怎么下载!

sapi语音朗读的简单用法(Unity中)