勤奋的码农
欢迎光临我的淘宝店:小丑情趣内衣店

上文写过c#实现语音(TTS)功能的文章

接下来就想搞搞ASP.NET客户端的语音(TTS)功能,步骤如下:

步骤:
  1) 安装Speech SDK
  2) 安装后设置
  3) 编写程序

 

1、安装Speech SDK
  本例以Speech SDK 5.1为例,需要安装两个文件SpeechSDK51和SpeechSDK51LangPack。
  下载地址:http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5e86ec97-40a7-453f-b0ee-6583171b4530&displaylang=en

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="读" onclick="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”文件夹,里边提供了一些示例,可以参考。

 

posted on 2013-03-10 20:06  勤奋的码农  阅读(3185)  评论(0编辑  收藏  举报

友荐云推荐