上文写过c#实现语音(TTS)功能的文章
接下来就想搞搞ASP.NET客户端的语音(TTS)功能,步骤如下:
步骤:
1) 安装Speech SDK 2) 安装后设置 3) 编写程序
1、安装Speech SDK 本例以Speech SDK 5.1为例,需要安装两个文件SpeechSDK51和SpeechSDK51LangPack。
下载地址:2、安装后设置
安装好后,进入“控制面板”—>“语音”,在“文字-语音转换”标签页中将“语音选择”选成“Microsoft Simplified Chinese”。 3、编写程序 因Speech SDK在Asp.net无法像Winform一样直接使用,不过可以通过ActiveX的方式来实现。 实现方法是在aspx源码编写下边代码:代码<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server"><title></title><script type="text/javascript">//创建 Sapi SpVoice 对象var VoiceObj =new ActiveXObject("Sapi.SpVoice");//将文本读出来function ReadVoice() { var voice = document.getElementById("txtVoice").value;VoiceObj.Voice=VoiceObj.GetVoices().Item(3);//3中文024英文
VoiceObj.Speak(voice, 1);returnfalse;}</script></head><body><form id="form1" runat="server"><div><%--将要被读的文本--%><input id="txtVoice" type="text"/><br /><%--读 按钮--%><input id="btnRead" type="button" value="读" οnclick="return ReadVoice()"/></div></form></body></html>
运行,在文本框中输入中文,点“读”就将文本就读出来了。
注:
1)如果在运行后,出现“Microsoft JScript 运行时错误: Automation 服务器不能创建对象”错误。请在,IE的“工具”->“Internet 选项”->“本地Internet”->“自定义级别”->"本地Intranet"内“对未标记为可安全执行脚步本的ActiveX控件初始化并执行脚本”这一项设置为“启用”。 如果你发布到其它机器运行,需要在“Internet 选项”->“Internet”中设置这一项。 2)在“开始菜单”中“Microsoft Speech SDK 5.1”中有“Microsoft Speech SDK 5.1 Help”帮助文档。如果需配置,可以参考此文档。 3)在Microsoft Speech SDK 5.1的安装目录下,有个“Samples”文件夹,里边提供了一些示例,可以参考。