Office中国论坛/Access中国论坛
标题: [分享]语音朗读通用模块 [打印本页]
作者: fan0217 时间: 2006-5-28 05:51
标题: [分享]语音朗读通用模块
看了不少语音朗读的例子,觉得都不够理想,前段时间在网上的偶然所得,把它改编成为通用模块方便大家使用。
可改变朗读者,调节音量和朗读速度。
注意:需要引用 Microsoft Speech Object Library
<'===============================================================================
'-函数名称: MySpeak
'-功能描述: 朗读文本内容
'-输入参数说明: 参数1: 必选 strSpeak As String 朗读的文本内容
' 参数2: 可选 IntRate As Integer 设置朗读的速度 范围:-10到+10
' 参数3: 可选 intVolume As Integer 设置朗读的音量 范围:0到100
' 参数4: 可选 intVoiceID As Integer 朗读者ID
'-返回参数说明:
'-使用语法示例: Call MySpeak ("中华人民共和国")
'-参考: 网上资料
'-使用注意: 需要引用 Microsoft Speech Object Library
'-兼容性:
'-作者: fan0217@163.com
'-更新日期: 2006-05-25
'===============================================================================
rivate Function MySpeak(strSpeak As String, _
Optional intRate As Integer = 0, _
Optional intVolume As Integer = 50, _
Optional intVoiceID As Integer = 0) As Boolean
On Error GoTo Err_MySpeak
Dim oVoise As New SpeechLib.SpVoice
Dim intTotalSpeech As Integer
intTotalSpeech = oVoise.GetVoices.Count '获取朗读者的数量
If intTotalSpeech = 0 Then Exit Function
'设置朗读者
If intVoiceID > intTotalSpeech - 1 Then intVoiceID = 0
Set oVoise.Voice = oVoise.GetVoices.Item(intVoiceID)
'设置朗读速度
If intRate > 10 Then intRate = 10
If intRate < -10 Then intRate = -10
oVoise.Rate = intRate
'设置朗读音量
If intVolume > 100 Then intVolume = 100
If intVolume < 0 Then intVolume = 0
oVoise.Volume = intVolume
oVoise.Speak strSpeak
MySpeak = True
Exit_MySpeak:
Exit Function
Err_MySpeak:
MySpeak = False
MsgBox Err.Description, 64, "fan0217"
Resume Exit_MySpeak
End Function
本贴将持续更新:陆续贴上我收集到的语音朗读的方法.
[此贴子已经被作者于2006-5-27 22:00:10编辑过]
作者: cmj1205 时间: 2006-5-28 06:02
谢谢
作者: sgrshh29 时间: 2006-5-28 14:21
好.
回站长,二个问题都搞清楚了.
[此贴子已经被作者于2006-5-29 5:17:53编辑过]
作者: tmtony 时间: 2006-5-28 17:08
非常好的模块,能够让新手很快了解如何使用语音.
楼上,声音的控制与语音包及精灵本身的声音有关,如果使用Agent为读的话,不同的精灵有不同的声音,一般来讲,女声比较清晰一些,可参考我以前做的一个英语小精灵的作品:
http://www.office-cn.net/forum.php?mod=viewthread&tid=34858
可以设置不同的精灵来读,并且有不同的舞蹈来配合读音.
作者: fan0217 时间: 2006-5-29 03:55
采用Excel朗读功能的朗读器:
注意:需要引用 Microsoft Excel xx.x Object Library
[attach]18127[/attach]
Function MySpeak_Excel(strSpeak As String) As Boolean
On Error GoTo Err_MySpeak_Excel
Dim objEx As New Excel.Application
If IsNull(strSpeak) Then Exit Function
objEx.Speech.Speak strSpeak
MySpeak_Excel = True
Set objEx = Nothing
Exit_MySpeak_Excel:
Exit Function
Err_MySpeak_Excel:
MySpeak_Excel = False
Set objEx = Nothing
MsgBox Err.Description, 64, "fan0217"
Resume Exit_MySpeak_Excel
End Function
[此贴子已经被作者于2006-5-29 18:37:59编辑过]
作者: cjh-16 时间: 2006-5-29 17:08
ok!ddddddddddddddddd
作者: cjh-16 时间: 2006-5-29 17:08
thanks thanks
作者: cjh-16 时间: 2006-5-29 17:08
niu dddddddddddddddd
作者: aedge 时间: 2006-5-30 00:48
这个语音的很高深啊!
感谢,研究研究
作者: tanhong 时间: 2008-3-15 16:22
不是吧.........fan0217版的语音朗读通用模块还搞出系列出来了,通通下载收藏学习
作者: huangqinyong 时间: 2008-3-15 17:09
楼主。收藏了,thanks
作者: yori2007 时间: 2008-3-20 14:11
[:31] [:30] [:29]
作者: wmok 时间: 2008-9-23 10:23
看看,一定要收藏
作者: heqing3000 时间: 2008-9-25 09:39
值得收藏!
作者: sblisb 时间: 2008-11-25 22:55
如何转为女声呢?
作者: sunwrsun 时间: 2009-7-11 14:38
谢谢
作者: sunwrsun 时间: 2009-7-11 14:41
谢谢
作者: yujingchun 时间: 2009-7-24 19:07
学习中
作者: jsan999 时间: 2009-8-21 17:15
thanks
作者: ilovshevchenko 时间: 2009-8-22 11:59
好的作品 学习一下
作者: chaojianan 时间: 2009-10-19 20:51
谢谢分享,全部收藏了。
作者: 13601812106_01 时间: 2009-10-25 21:11
下载收藏学习
作者: ynjxw 时间: 2009-10-27 11:06
读数字的时候不能1、2、3的读,非要一百二十三的读吗?
作者: tangjiawang 时间: 2009-11-4 16:44
学习下,真的不错
作者: goto2008 时间: 2009-11-12 18:03
作者: yhf 时间: 2009-12-29 11:12
研究研究
作者: xuwenning 时间: 2009-12-30 11:41
好东西
收藏
以前怎么没发现
作者: ycxchen 时间: 2010-1-2 16:17
下载学习学习!
作者: ycxchen 时间: 2010-1-2 16:25
下载收藏学习
作者: postzw 时间: 2010-2-10 12:13
真的可以吗?
作者: xie62 时间: 2010-5-27 15:51
收藏学习
作者: danis 时间: 2010-5-28 21:16
[img][/img]
作者: fong 时间: 2011-1-13 15:57
kk3333
作者: 130050007 时间: 2011-6-13 04:16
gt_FormInit
作者: duomu 时间: 2011-10-29 12:45
语音朗读通用模块
作者: accesswj 时间: 2012-4-25 21:57
okokokooook
作者: jingan 时间: 2012-4-29 11:42
好东东学习
作者: herogates1 时间: 2012-6-5 09:49
作者: dgmeihao168 时间: 2012-6-15 13:30
享]语音朗读通用模块
作者: 李力军2 时间: 2012-6-19 23:46
认真研究下,谢谢
作者: yanwei82123300 时间: 2012-6-20 08:17
谢谢分享!!1
作者: 凡人之道 时间: 2014-6-2 17:29
怎么是英文啊,我想朗读的是中文
作者: mchyzh 时间: 2014-11-27 17:04
正等着用呢
作者: 淡泊 时间: 2016-10-15 18:24
123
作者: 百舸争流 时间: 2016-10-16 20:58
学习一下
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |