用.net 编码实现朗读文本的方法

Net Framework 3.0 中增加了一个命名空间:System.Speech 使用这个空间的类和方法,我们可以很方便的2行代码就可以让一段文本被读出来。

 

C:/Program Files/Reference Assemblies/Microsoft/Framework/v3.0/System.Speech.dll

 

演示代码如下:

using System.Speech.Synthesis;

SpeechSynthesizer synth = new SpeechSynthesizer();

synth.Speak("Hello, world!你好么?");

但是需要注意的事情是:

WinXP 系统自带的底层Speech API  版本是:Microsoft Speech API 5.1

Vista 系统自带的底层Speech API 版本是:Microsoft Speech API 5.3

目前还没有看到可以在 WinXP 使用的 Microsoft Speech API 5.3。

而 Microsoft Speech API 5.1 只支持英文文本的读,而Microsoft Speech API 5.3 出了支持英文文本的读外,还支持中文文本的读。

Microsoft Speech API 5.3 并不会因为你装了 .Net FrameWork 3.0 或者 3.5  就会也把 Microsoft Speech API 5.3 装上去。

这样,我们在装了 .Net FrameWork 3.0 的 WinXP 电脑上运行上述两行代码,只要你的声卡设置正常,可以播放声音,你听到的Hello, world!这一句英文,听不到你好么这个中文。

同时上述代码并不会报任何错误以及抛异常。

如果你是在 Vista 电脑上运行上述代码,只要你的声卡设置正常,你则可以正常听到中文和英文。

 

参考资料:

深入探索 Vista 中新语音识别API

All the Cool Developers use Speech APIs

MSDN 关于Microsoft Speech API 5.3 的帮助

 

 

 

阅读更多
换一批

没有更多推荐了,返回首页