在VB中使用文字朗读引擎

上传人:宝路 文档编号:21463810 上传时间:2017-11-23 格式:DOCX 页数:5 大小:18.74KB
返回 下载 相关 举报
在VB中使用文字朗读引擎_第1页
第1页 / 共5页
在VB中使用文字朗读引擎_第2页
第2页 / 共5页
在VB中使用文字朗读引擎_第3页
第3页 / 共5页
在VB中使用文字朗读引擎_第4页
第4页 / 共5页
在VB中使用文字朗读引擎_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《在VB中使用文字朗读引擎》由会员分享,可在线阅读,更多相关《在VB中使用文字朗读引擎(5页珍藏版)》请在金锄头文库上搜索。

1、在 VB 中使用文字朗读引擎(TTS)技术发布于:软件开发网 来源:Internet 作者:网络收集 时间:2008-11-18 点击:292现今市面上流行的一些英语学习软件,在广告词上经常说自己使用了国际顶尖的全程语音 TTS 技术,能进行整段英文的流利朗读,并能自由调节朗读的速度与频率等。那么,这个神奇的 TTS 究竟是什么东西呢?其实,TTS 是微软出品的一套文字朗读引擎(Text-To-Speech Engine),这些英语软件就是调用它来进行英文朗读的。我们在英语学习软件的编程开发中也可使用 TTS 技术,下面笔者将利用 Visual Basic 5.0 来揭开 TTS 神秘的面纱。

2、一、安装 TTS 引擎TTS 引擎所需的 Microsoft Text-to-Speech Engine 与 Microsoft Speech API 软件都可到微软的站点去下载,也可以在“金山词霸 2000”或“金山词霸.net”的安装光盘上找到(文件名为 MSTTS.EXE 与 SPCHAPI.EXE)。安装了 TTS 引擎后,在 Windows 所在目录下会生成一个 SPEECH 目录,其中有一个 Vtxtauto.tlb 文件,在编程时我们需要调用它。软件开发网二、在 VB 中引入 Vtxtauto.tlb 文件进入 VB 5.0,执行选单命令“文件/ 新建工程/标准 EXE”并确定,

3、然后执行选单“工程”中的“引用” ,单击“浏览”按钮到 Windows 目录下的 SPEECH 子目录,打开Vtxtauto.tlb 文件,将“VoiceText 1.0 Type Library”添加到引用列表中,选中它并单击确定。将库 Vtxtauto 引入 VB 后,我们可以通过选单“视图”中的“对象浏览器”来了解它所封装的类,以及各类成员函数的属性的意义、使用格式等信息。一些主要的方法与属性意义,笔者在下面的源程序中将 给出注释,在这里就不详细列出。三、设置控件及属性在 FORM1 上添加三个 Label 控件、一个 TextBox 控件、一个 HScrollBar 控件和六个Comm

4、andButton 控件。窗体及各控件的主要属性设置如下:FORM1:Caption=“英文朗 读”LABEL1:Caption=“请输入英文文档”LABEL2:Caption=“朗读速度”LABEL3:Caption=“ ”(LABEL3 标签用来显示朗读速度值)TEXT1:Text=“Please input english text”;ToolTiptext=“请输入或粘贴英文文档” ; MultiLine=True;ScrollBars=3-BothHSCROLL1:名称=SpeedChange;Min=90 ;Max=300(Min 与 Max 属性值分别用来限定可调节的语速的最小与

5、最大值)COMMAND1:名称=read ;Caption=“朗读”COMMAND2:名称=pause;Caption=“ 暂停”COMMAND3:名称=stop ;Caption=“停止”COMMAND4:名称=prev;Caption=“上一句”COMMAND5:名称=next ;Caption=“下一句”COMMAND6:名称=quit;Caption=“退出”四、编写代码下面我们就可以一步步地编写代码,具体代码如下:在窗体装载时调用 Register 方法注册,括号内的两个参数是字符串Private Sub Form_Load()Call VTxtAuto.VTxtAuto.Regis

6、ter(Space(8), Space(8)因 为语速的默 认值为 170,故水平滚动条的初值也设为 170SpeedChange.Value = 170End Sub设 置朗读 速度调节代码, 当水平滚动条的值 Value 发生变化时将其赋给控制语速的Speed 属性Private Sub SpeedChange_Change()VTxtAuto.VTxtAuto.Speed=SpeedChange.ValueLabel3.Caption = SpeedChange.ValueEnd Sub设 置“朗 读”按钮代码Private Sub read_Click()如果朗 读 出错,则转到出错处

7、理标记模块 ErrorHandlerOn Error GoTo ErrorHandler 调用方法 Speak 进行朗读,第一个参数是要朗读的文本,第二个参数是设置朗读风格 Call VTxtAuto.VTxtAuto.speak(Trim(Text1.Text), vtxtsp_VERYHIGH vtxtst_READING) Exit Sub ErrorHandler: MsgBox 只能朗读英文文档,不能朗读汉字字符!, , 出错信息 End Sub 设置“暂停”按钮代码 Private Sub pause_Click() If VTxtAuto.VTxtAuto.IsSpeaking

8、Then 如果属性 IsSpeaking 为真,则表示正在朗读, 调 用 AudioPause 方法暂停朗读 Call VTxtAuto.VTxtAuto.AudioPause pause.Caption = 恢复 Else 如果已经处于暂停状态则调用 AudioResume 方法恢复朗读 Call VTxtAuto.VTxtAuto.AudioResume 软件开发网 pause.Caption = 暂停 End If End Sub 设置“停止”按钮代码,调用 StopSpeaking 方法停止当前朗读 Private Sub stop_Click() Call VTxtAuto.VTxt

9、Auto.StopSpeaking End Sub 设置“上一句”按钮代码,调用 AudioRewind 方法往后跳 过一句 Private Sub prev_Click() Call VTxtAuto.VTxtAuto.AudioRewind End Sub 设置“下一句”按钮代码,调用 AudioFastForward 方法向前跳过一句 Private Sub next_Click() Call VTxtAuto.VTxtAuto.AudioFastForward End Sub 设置“退出”按钮代码 Private Sub quit_Click() 软件开发网 Unload Me End Sub 本程序在中文 Windows 95/98、VB 5.0 环境下运行通过。运行 时在文本编辑框中输入或粘贴英文文档,然后单击“朗读”按钮就可播放读音。 五、程序改进思路 本文对在 VB 编程中使用 TTS 技术只是起个抛砖引玉的作用,熟悉 VB 编程的电脑爱好者来可以对本程序作一些改进,例如增加对声卡和 TTS 引擎是否安装的检测、增加从文本文件或数据库中读取文档的功能、增加让用户选择朗 读的优先级和发声音量调节等功能。这些功能实现起来较为复杂,感兴趣的读者可进行深入研究。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号