400-696-8028

WinForm - 会说话的程序

长沙北大青鸟作者:科泰校区

摘要: 从.NET Framework 3.0开始,Framework提供了Speech API调用方法,这样就非常流畅完美了,不用再纠结非托管的COM了。下面以.NET Framework 4.0为例讲一下制作过程,效果图如

 从.NET Framework 3.0开始,Framework提供了Speech API调用方法,这样就非常流畅完美了,不用再纠结非托管的COM了。


下面以.NET Framework 4.0为例讲一下制作过程,效果图如下:
1.png 

有点意思哈?呵呵、

首先、右键项目、添加引用:
2.png 

左边分类选择框架、右边找到System.Speech:
3.png

然后在你的程序中添加using引用:

  1. using System.Speech.Synthesis;

复制代码


最后调用SpeechSynthesizer对象的Speak方法朗读即可:

  1. SpeechSynthesizer synth = new SpeechSynthesizer();//实例化朗读对象

  2. synth.Speak("这里是要朗读的内容");//开始朗读,传入指定的内容

复制代码


这里会出现一个比较烦人的问题,Speak方法时单线程的,也就是说,在它朗读的过程中,当前程序的其他操作会全部卡掉、

等其朗读完毕,就又可以继续操作了、

那既然我们都发现了,人家微软能不知道?

所以、在这里细心的朋友会发现在Speak方法下面有一个诡异的东东:
4.png

Async:异步的

试一下:

  1. SpeechSynthesizer synth = new SpeechSynthesizer();//朗读对象

  2. synth.SpeakAsync("异步朗读的内容");//异步朗读

复制代码




然后就惊喜的发现、朗读的时候不卡了、呵呵、其他的还有设置声音(synth.Volumn)、语速(synth.Rate)等等、大家可以百度SpeechSynthesizer的使用、很多例子。


关于我们
公司简介
发展历程
青鸟荣誉
联系我们
加入我们
青鸟课程
BCVE视频特效课程
BCUI全链路UI设计
BCSP软件开发专业
BCNT网络工程师
启能职业教育基础课程
长沙初中生学什么
长沙高中生学什么
长沙大学生学什么