技术文章 > ASP.NET客户端实现语音(TTS)功能

ASP.NET客户端实现语音(TTS)功能

2018-09-25 04:57

文档管理软件,文档管理系统,知识管理系统,档案管理系统的技术资料:
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”文件夹,里边提供了一些示例,可以参考。