解决VB调用TTS实现真人发音

 

  本栏目相关搜索:www.sy15168.cn|中国商业网|商业网|商业网站|神州商业网|商业网站sy15168|资讯中心|新闻频道
解决VB调用TTS实现真人发音
神州商业网   2014-05-30 13:01:29 作者:SystemMaster 来源: 文字大小:[][][]

(1)新建一个工程:

     工程-引用-microsoft-speech-object-library

(2)建一个按钮:

Private Sub Command1_Click()
    textch = "测试VB真人发音"
    readch (textch)
End Sub
Function readch(ByVal strText As String)
    Set objVoice = CreateObject("SAPI.SpVoice")
    Set colVoice = objVoice.GetVoices() '获得语音引擎集合
    objVoice.Volume = 100 '设置音量,0到100,数字越大音量越大
    '得到所需语音引擎的编号
    langCN = "MSSimplifiedChineseVoice" '简体中文
    langEN = "MSSam" '如果安装了TTS Engines 5.1,还可以选择MSMike,MSMary
    For i = 0 To colVoice.Count - 1 '选择语音引擎
  
        If Right(colVoice(i).Id, Len(langCN)) = langCN Then cnVoice = i
        If Right(colVoice(i).Id, Len(langEN)) = langEN Then enVoice = i
    Next
    Dim strSourse, strCurrent, strTemp, strSplitter As String
    Dim strArray() As String
    strSource = strText & " "
    strTemp = ""
    strSplitter = "@@"
    '把strSource中的中英文分开
    For i = 1 To Len(strSource) - 1
        strCurrent = Mid(strSource, i, 1)
        If is_hanzi(strCurrent) = is_hanzi(Mid(strSource, i + 1, 1)) Then '如果是中文
            strTemp = strTemp & strCurrent
        Else
            strTemp = strTemp & strCurrent & strSplitter
        End If
    Next
  
    strTemp = Replace(strTemp, "@@ @@", " ") '空字符会被识别为英文,予以纠正
    MsgBox strTemp
  
    strArray = Split(strTemp, strSplitter)
    For Each strSlice In strArray
        If Trim(strSlice) = "" Then
            GoTo endfor
        End If
     
        If is_hanzi(Mid(strSlice, 1, 1)) Then
            Set objVoice.Voice = colVoice.Item(cnVoice) '设置语音引擎为简体中文
            objVoice.Speak (strSlice)
        Else
            Set objVoice.Voice = colVoice.Item(enVoice)
            objVoice.Speak (strSlice)
        End If
endfor:
    Next
End Function
Private Function is_hanzi(ByVal str_char As String)
    If AscW(str_char) > &H0 And AscW(str_char) < &H800 Then
        is_hanzi = False
    Else
        is_hanzi = True
    End If
End Function




上一篇文章:  MySQL常用命令
下一篇文章:  解决mssql数据库内破解加密密码问题

分享到:
最新评论
发表评论
标题
内容
表情
 
 分类导航:
网络动态  (410)
焦点人物  (211)
技术杂谈  (606)
商业新闻  (25)
名词与诠释  (5)
财经视频资讯  (10)
社会视频资讯  (85)
 最新资讯:
    ◆  2023年新年 [1/1]
    ◆  阿根廷夺冠20 [12/29]
    ◆  第三届中国资管 [12/29]
    ◆  疫情过后美国通 [12/29]
    ◆  孙颖莎2022 [12/29]
    ◆  习近平指引农业 [12/27]
    ◆  河南郑州某商场 [12/26]
    ◆  中国经济增速将 [12/9]
    ◆  设置自动同步时 [5/29]
    ◆  西门子PCAc [11/7]
    ◆  解决VB添加I [10/7]
    ◆  大话西游2经典 [3/23]
    ◆  大话西游2经典 [3/23]
    ◆  2019年食品 [1/17]
    ◆  2019世乒赛 [4/21]
更多
 企业黄页:
    ◆  孔老师乒乓球 [4/20]
    ◆  乐宇乒乓球俱 [4/18]
    ◆  友谊乒乓球俱 [4/18]
    ◆  深圳市威图科 [12/29]
    ◆  烟台海特林自 [12/29]
    ◆  杭州虹炫网络 [12/26]
    ◆  新乡县玉强振 [12/18]
    ◆  衡水瑞隆矿山 [1/28]
    ◆  广州领嘉包装 [1/28]
    ◆  东莞市塘厦锦 [1/28]
    ◆  太原市福佳林 [1/26]
    ◆  河北省任丘市 [1/26]
    ◆  沧州起航拓展 [1/26]
    ◆  佛山市铧睿科 [1/26]
    ◆  宁波友利工业 [1/25]
更多
关于我们 联系方式 推广效果 全站搜索 网站留言 网站声明 网址导航 企业黄页申请 申请友情链接

神州商业网
联系邮箱:xn0216@163.com
网站地图
Copyright © 2009-2017 神州商业网 版权所有
商业网_中国商业网_商业网站