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