当前位置:首页 > 青鸟知识 > net

WinForm - 会措辞的法式

来源:长沙电脑培训学校 发布日期:2016-05-21
摘要:每当走在街上、偶尔会听到路边的商场喇叭传出的告白,真实良多都不是真人的语音。在Windows XP中,默许自带的是Microsoft Speech API 5.3、只支撑英文朗读,碰到中文会主动忽略跳过。比力坑爹。

从.NET Framework 3.0起头,Framework供应了Speech API挪用方式,多么就很是流利完善了,不消再纠结非托管的COM了。

上面以.NET Framework 4.0为例讲一下建造进程,结果图以下:
1.png

有点意义哈?呵呵、

起首、右键项目、添加援用:
2.png

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

然后在你的法式中添加using援用:

using System.Speech.Synthesis;

复制代码


最初挪用SpeechSynthesizer对象的Speak方式朗读便可:

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

synth.Speak( 这里是要朗读的内容 //起头朗读,传进指定的内容

复制代码


这里会呈现一个比力烦人的标题,Speak方式时单线程的,也就是说,在它朗读的进程中,以后法式的其他支配会全数卡失落、

等其朗读终了,就又能够连续支配了、

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

所以、在这里认真的伴侣会发此刻Speak方式上面有一个诡异的东东:
4.png

Async:异步的

试一下:

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

synth.SpeakAsync( 异步朗读的内容 //异步朗读

复制代码




然后就欣喜的发现、朗读的时辰不卡了、呵呵、其他的还有设置声响(synth.Volumn)、语速(synth.Rate)等等、巨匠能够百度SpeechSynthesizer的应用、良多例子。



拒绝套路 试听有礼

数据已加密保证您的信息安全