Net Framework 3.0 中增加了一个命名空间:System.Speech 使用这个空间的类和方法,我们可以很方便的2行代码就可以让一段文本被读出来。
演示代码如下:
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 电脑上运行上述代码,只要你的声卡设置正常,你则可以正常听到中文和英文。
参考资料: