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

<p>转载:http://blog.joycode.com/ghj/archive/2007/05/10/102303.aspx</p>
<p>.Net Framework 3.0 中增加了一个命名空间:System.Speech 使用这个空间的类和方法,我们可以很方便的2行代码就可以让一段文本被读出来。</p>
<p>演示代码如下:</p>
<p>using System.Speech.Synthesis;</p>
<p>SpeechSynthesizer synth = new SpeechSynthesizer();</p>
<p>synth.Speak("Hello, world!你好么?");</p>
<p>但是需要注意的事情是:</p>
<p>WinXP 系统自带的底层Speech API 版本是:Microsoft Speech API 5.1</p>
<p>Vista 系统自带的底层Speech API 版本是:Microsoft Speech API 5.3</p>
<p>目前还没有看到可以在 WinXP 使用的 Microsoft Speech API 5.3。</p>
<p>而 Microsoft Speech API 5.1 只支持英文文本的读,而Microsoft Speech API 5.3 出了支持英文文本的读外,还支持中文文本的读。</p>
<p>Microsoft Speech API 5.3 并不会因为你装了 .Net FrameWork 3.0 或者 3.5 就会也把 Microsoft Speech API 5.3 装上去。</p>
<p>这样,我们在装了 .Net FrameWork 3.0 的 WinXP 电脑上运行上述两行代码,只要你的声卡设置正常,可以播放声音,你听到的Hello, world!这一句英文,听不到你好么这个中文。</p>
<p>同时上述代码并不会报任何错误以及抛异常。</p>
<p>如果你是在 Vista 电脑上运行上述代码,只要你的声卡设置正常,你则可以正常听到中文和英文。</p>
<p></p>
<p>参考资料:</p>
<p><a href="http://www.microsoft.com/china/MSDN/library/Windev/WindowsVista/speechinWindowsVista.mspx" target="_blank">深入探索 Vista 中新语音识别API</a>
</p>
<p><a href="http://blogs.msdn.com/chuckop/" target="_blank">All the Cool Developers use Speech APIs</a>
</p>
<p><a href="http://msdn2.microsoft.com/en-us/library/ms723627.aspx" target="_blank">MSDN 关于Microsoft Speech API 5.3 的帮助</a>
</p>

你可能感兴趣的:(.net)