使用文本语音开发包实现语音朗读功能(vb方法)
最近在网上闲逛,发现了一个文本语音开发包,使用它,可以方便的实现将文字变成语音输出的功能。我一直就比较看好软件语音的发展,连比尔盖茨都说,文字操作系统,图形操作系统,下一个技术发展的趋势就是语音版操作系统,虽然没有接触windows xp,但听说,里面已经集成了一定功能的语音程序。
闲话少说,下载开发包后,经过研究,我发现通过这个开发包在软件中加入语音功能非常简单,虽然功能有限,但让我这个只会vb编程的人来说,简单的几条语句,就可以实现,马上我的软件中就要有语音功能了。
使用开发包前,必须到软件网站下载语音包,网址:http://www.cnetseek.com/gb/smartread/download.html, 你可以根据你的需求下载相应的语音包,安装到你的电脑上。其中有中文语音库:实现中文朗读功能;英文语音库:实现英文朗读功能,当然你可以把它们一起下载下来,按照不同的需要调用不同的语音库。当然,我认为这虽然不可避免,但是语音库的文件都有些大,我的软件也就1m左右,但一个中文语音库就快到1.7m,软件体积就一下子变大了。当然,不同的人看法不同,也许有人不在乎呢?呵呵!
下面,我就通过一个实例来说明如果实现语音功能。
第一步,将smartread.dll动态链接库放到系统文件夹或运行文件相同的文件夹中,因为这个文件是语音实现的核心文件,必须让软件能够找到它。开发包中有这个链接库,复制一下就可以了。
第二步,打开vb,新建一个模块,在代码页开始输入下面的语句。
type be_version
bydllmajorversion as byte
bydllminorversion as byte
chday as long
chmonth as long
chyear as long
end type
这是开发包版本型号的结构,包括软件版本,软件开发时间。当然,如果你根本不想知道的话,这一步也可以不做。
第三步,新建一个窗体,在一开始加入:
private declare function dll_smartread_initialvb lib "smartread.dll" (byval hwndfrom as long) as long
private declare function dll_smartread_closevb lib "smartread.dll" (byval bnull as long) as long
private declare function dll_smartread_setdialogvb lib "smartread.dll" (byval hwndfrom as long) as long