分享
 
 
 

使用文本语音开发包实现语音朗读功能(VB方法)

王朝vb·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

使用文本语音开发包实现语音朗读功能(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

Private Declare Function Dll_SmartRead_SpeakVB Lib "smartread.dll" (ByVal str As String, ByVal bstyle As Long) As Long

Private Declare Function Dll_SmartRead_StopVB Lib "smartread.dll" (ByVal bNull As Long) As Long

Private Declare Function Dll_SmartRead_VersionVB Lib "smartread.dll" (ByVal bNull As Long) As BE_VERSION

Private Declare Function Dll_SmartRead_InitialVB Lib "smartrea 这是smartread.dll动态链接库中,函数的声明,从函数名就可以看出,这是专门针对VB的函数。我简单介绍一个这几个函数的基本的功能。

Dll_SmartRead_InitialVB:用于初始化语音功能,必须在最初调用

Dll_SmartRead_CloseVB:用于关闭语音功能,在程序退出前调用,释放资源

Dll_SmartRead_SpeakVB:朗读函数。

Dll_SmartRead_StopVB:停止朗读函数

Dll_SmartRead_SetDialogVB:用于打开语音设置对话框,改变语音,音量,语速等

Dll_SmartRead_VersionVB:显示开发包版本信息(这个函数可以不用,如果要用的话,就必须作第二步)

第四步,现在就可以在软件中实现语音功能了。

1. 调用Dll_SmartRead_InitialVB

Dim ddd As Long

ddd = Dll_SmartRead_InitialVB(Me.hWnd) '调用初始化函数

2. 调用Dll_SmartRead_SetDialogVB

Dim ddd As Long

ddd = Dll_SmartRead_SetDialogVB(Me.hWnd) '调用设置函数,可以改变到中文语音库

3. 用Dll_SmartRead_SpeakVB

Dim ddd As Long

ddd = Dll_SmartRead_SpeakVB(“中文语音开发包”, 0) '朗读函数

4. 调用Dll_SmartRead_CloseVB

Dim bNull As Long

Dim ddd As Long

ddd = Dll_SmartRead_StopVB(bNull) '调用停止朗读函数

5. 调用Dll_SmartRead_CloseVB

Dim bNull As Long

Dim ddd As Long

ddd = Dll_SmartRead_CloseVB(bNull) '调用关闭函数

这么样,开发包的使用非常简单吧,如果你没有非常需求,文本语音开发包大概就可以满足你的要求了,当然如果你觉得开发包功能不够的话,就要研究微软的Speech API了,但是实现起来没有这么简单了,萝卜青菜,各有所好罢了。

如果你对这种方法感兴趣,可以到文本语音开发包的网站去看一看,现在已经推出1.1版本了。http://www.cnetseek.com/gb/smartread/smartreadlib.html

最后要说明一下,这个开发包只是测试版本,会有注册提示。如果要得到全功能版本,必须要注册,具体信息,到上面的网址去找吧。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有