所谓让文本发声是指将文本的内容变成声音输出,即让计算机读出文本的内容。这个功能在实际的教学工作中无疑是很有用的。在Office XP的Excel中,就有“从文本到语音”的功能,但必须在Excel环境下才能实现,这就给我们应用该功能带来了不便。由此,笔者考虑能否开发出脱离Excel环境,让任意文本都会发声的程序。通过实践,笔者用VB6.0开发了“文本朗读”的程序。下面对开发过程做一简单的介绍。
1.总体思路
先建立一个标准EXE工程,在窗体上建立三个命令按钮控件、一个通用对话框控件和一个Richtextbox控件,然后通过[打开文件]按钮的触发事件,选择要朗读的文本文件,把文本内容输出到Richtextbox框中,再通过[开始朗读]按钮触发事件,同时调用Excel对象的语音方案,将Richtextbox框中的文本全部朗读出来。
2.准备工作
首先要在计算机上安装好Office XP,在安装过程中要将语音功能安装上。然后利用“控制面板”上的“语音”项目展开“语音属性”对话框,进行语言的选择,在下拉框中选择“Microsoft Simplified Chinese”,即选择中文语音功能,否则,只能读出英文而读不出中文。还可以在此对话框中设置计算机生成的不同语音以及语音速度。
其次,在VB6.0中,要引用通用对话框和Richtextbox两个部件。
3.对话框和控件的创建
(1)建立一个标准EXE工程,命名为“Txtsound”,对话框命名为“Frmsound”。
(2)在对话框上布置一个Richtextbox控件和标签控件,名称分别为Richt和LeBT。
(3)再在对话框上添加三个命令按钮,第一个是[打开文件]按钮,命名为CmdOpen;第二个是[开始朗读]按钮,命名为CmdRead;第三个是[退出]按钮,命名为CmdExit。
(4)最后在对话框上添加一个通用对话框,命名为ComD,其Filter属性设为“.txt,.rtf”。4.命令按钮的事件代码
(1)[打开文件]按钮,用于获得文本内容,其鼠标单击事件如下:
Private Sub CmdOPEN _Click()
ComD1.ShowOpen #打开“打开文件”对话框
filename=CommonDialog1.filename #获取选中的文件名
RichT.LoadFile filename,rtfText #把文件的文本内容输出到文本框
End Sub
(2)[开始朗读]按钮,用于调用Excel对象的语音方法,并读出文本框中的文本内容,其鼠标单击事件如下:
Private Sub CmdRead _Click()
Set myobject=CreateObject("excel.application") #定义一个Excel对象
myobject.speech.speak RichT.Text #朗读文本内容
End Sub
(3)[退出]按钮,用于关闭对话框,退出朗读程序,其鼠标单击事件如下:
Private Sub CmdExit _Click()
FRMSOUND.close #关闭对话框,结束程序。