cailangwei

九尺之台,起于累土。
温故而知新,可以为师矣!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

.NET平台下的一个说英语功能

Posted on 2012-01-04 23:23  cailangwei  阅读(276)  评论(0)    收藏  举报

现在大家的电脑里可能都装着谷歌金山词霸吧,一个必备的工具。很好而且免费。里面的单词都有发音,那些发音不是录制好然后保存到硬盘中的,而是用的一种"发音引擎"。

    来看看吧,打开控制面板(运行"control")。打开语音。应该能看懂吧,如果有的话。

    使用下面的文字预览语音“You have selected Microsoft Sam as the computer's default voice.”点击预听语音,他就会把这句话说出来。这是用微软的技术,可能还有其他技术。你在文本框里面随便输入字母,英文单词,句子。都可以说出来。

    .NET类库里提供了对这个语音技术的支持。一个DLL文件,对应的路径在这里“"C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\System.Speech.dll”
    
    新建一个form窗体或者控制台都无所谓,引用,添加引用,.NET,选择System.Speech。OK。

    这个程序集有五个命名空间。
    System.Speech.AudioFormat
    System.Speech.Recognition
    System.Speech.Recognition.SrgsGrammar
    System.Speech.Synthesis
    System.Speech.Synthesis.TtsEngine

    我们主要就用 System.Speech.Synthesis命名空间的SpeechSynthesizer这个类。

    微软的MSDN可以查到这个程序集。说明和没说一样,你想看的都是英文,而且就一句说明。那些没用的都是汉字。


   也就两行代码。
SpeechSynthesizer ss = new SpeechSynthesizer();
ss.Speak("what you want to speak ");

还有些属性。
ss.Rate 语速,int类型,范围-10到10
ss.Volume 音量,int类型,范围0到100

   好好看看这个程序集,还挺强大的,功能挺多。慢慢研究吧。