在云那方

首页 新随笔 联系 订阅 管理
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 电脑上运行上述代码,只要你的声卡设置正常,你则可以正常听到中文和英文。

 

参考资料:

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

All the Cool Developers use Speech APIs

MSDN 关于Microsoft Speech API 5.3 的帮助

posted on 2009-02-23 13:18  Rich.T  阅读(354)  评论(0编辑  收藏  举报