碧空雪狐

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Asp.Net实现语音(TTS)功能,利用Speech SDK来实现

 
 

本文和大家分享一下在Asp.Net中通过Speech SDK 实现语音(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源码编写下边代码:



 Code [http://www.oeedu.com]


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


 


原文:http://www.cnblogs.com/scottckt/archive/2010/09/25/1834882.html

 
posted on 2011-11-25 14:28  碧空雪狐  阅读(939)  评论(0编辑  收藏  举报