语⾳⽂本阅读器

                          语⾳⽂本阅读器

       在⼀般程序中,我们习惯⽤眼睛和⼿去和程序交互,默默的使⽤软件。当然,在很多情况下这也是必须的,⽐如在⼀个集体⼯作的环境中,⼤家尽量减少相互
之间的⼲扰。但是在很多其他的环境我们还可以利⽤⽤户的⽿朵和嘴,⽐如睡觉前躺在床上听⼀段⼉有声⼩说,等听累了,我们说出指令,让计算机⾃动结束程序和关机,这⼀定是件很惬意的事情。
     这个 Idea 听起来不错,可怎样实现呢?如果在⾃⼰的程序中加⼊这种功能很复杂吗?No,因为微软已经从⼗⼏年前就开始了这种尝试,随着近⼏年的技术进步,
已经在 Windows 中加⼊了语⾳功能的 API ⽀持,我们需要做的只是调⽤就 OK。
Windows XP 集成的版本默认只⽀持英⽂,如果使⽤中⽂还需要下载中⽂语⾔包。在 Vista 以后的系统中已经默认集成了中⽂语⾔包,更值得庆幸的是从.Net3.0 版
本以后已经包含了语⾳的托管 DLL,所以.Net 程序员使⽤起来⾮常⽅便,只需要加⼊ System.Speech 引⽤就可以正常使⽤了。
当然使⽤前先要引⼊语⾳的命名空间,我们这期的功能主要是语⾳朗读功能,所以只需要引⼊⼀个命名空间,using System.Speech.Synthesis; 下⼀期我们还会
学习怎样使⽤语⾳对电脑发送指令。在这个命名空间中我们主要使⽤SpeechSynthesizer类,这个类可以实现语⾳朗读功能。

下⾯是具体实现的代码:
/*
* 功能:
* 弹出⼀个选择⽂件对话框,可以选择⽂本⽂件。
* 如果选择取消,则返回。
* 如果选择是,则把⽂本⽂件内容读⼊到字符串变量txt中。
*/
//⽣成选择⽂件对话框对象
OpenFileDialog ofd = new OpenFileDialog();
//设置可以打开的⽂件类型
ofd.Filter = "⽂本⽂件(*)|*.txt";
//设置⽂件对话框起始位置
ofd.InitialDirectory = "c:\";
//设置对话框在关闭前是否还原⽬录
ofd.RestoreDirectory = true;
//选择⽂件对话框打开后如果选择取消,则终⽌
if(ofd.ShowDialog()!=System.Windows.Forms.DialogResult.OK)
return;
//读取选择的⽂本⽂件
string txt = File.ReadAllText(ofd.FileName);
/*
* 功能:
* ⽣成阅读器对象。
* 设置发声属性。
* 阅读字符串变量txt中的⽂本内容。
*/
//⽣成阅读器对象
SpeechSynthesizer speaker = new SpeechSynthesizer();
//设置⾳量为最⼤(0-100)
speaker.Volume = 100;
//设置阅读速度为中等(-10到10)
speaker.Rate = 0;
//阅读⽂本
speaker.Speak(txt);
//释放阅读器
speaker.Dispose();

功能已经实现,很简单吧,有兴趣可以回去⾃⼰试⼀下啊。
Window7 操作体统 / Vs2010 中测试正常。
原文地址:https://www.cnblogs.com/ComputerVip/p/11661389.html