vbs调用其他语音库
我电脑里面有微软语音库,也安装有金山语音库。这里有一个脚本:ReadAllTextFile=CreateObject("Scripting.FileSystemObjec...
我电脑里面有微软语音库,也安装有金山语音库。这里有一个脚本:
ReadAllTextFile=CreateObject("Scripting.FileSystemObject").OpenTextFile(Wscript.Arguments(0), 1).ReadAll
Function RegExpTest(patrn, strng)
Dim regEx, Match, Matches ' 建立变量。
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = patrn ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分大小写。
regEx.Global = True ' 设置全程可用性。
Set Matches = regEx.Execute(strng) ' 执行搜索。
For Each Match in Matches ' 遍历 Matches 集合。
RetStr = RetStr & Match.value&" "
RetStr = RetStr & vbCRLF
Next
RegExpTest = RetStr
End Function
Set objVoice = CreateObject("SAPI.SpVoice")
Set objVoice.Voice = objVoice.GetVoices("Name=Microsoft Simplified Chinese").Item(0)
objVoice.Rate = 3 '速度:-10,10 0
objVoice.Volume = 100 '声音:0,100 100
objVoice.Speak RegExpTest("[\u4e00-\u9fa5]", ReadAllTextFile)
这个代码可以朗读拖放到本脚本上的中文文本,但是用的是微软的语音库,我觉得微软的语音库朗读得很不好,不知道该怎样改为调用金山的语音库来朗读呢?
困惑已久,网上找了很多资料还是没有解决,期盼高手解惑,另外希望能与志同道合的朋友一起学习,十分感谢! 展开
ReadAllTextFile=CreateObject("Scripting.FileSystemObject").OpenTextFile(Wscript.Arguments(0), 1).ReadAll
Function RegExpTest(patrn, strng)
Dim regEx, Match, Matches ' 建立变量。
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = patrn ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分大小写。
regEx.Global = True ' 设置全程可用性。
Set Matches = regEx.Execute(strng) ' 执行搜索。
For Each Match in Matches ' 遍历 Matches 集合。
RetStr = RetStr & Match.value&" "
RetStr = RetStr & vbCRLF
Next
RegExpTest = RetStr
End Function
Set objVoice = CreateObject("SAPI.SpVoice")
Set objVoice.Voice = objVoice.GetVoices("Name=Microsoft Simplified Chinese").Item(0)
objVoice.Rate = 3 '速度:-10,10 0
objVoice.Volume = 100 '声音:0,100 100
objVoice.Speak RegExpTest("[\u4e00-\u9fa5]", ReadAllTextFile)
这个代码可以朗读拖放到本脚本上的中文文本,但是用的是微软的语音库,我觉得微软的语音库朗读得很不好,不知道该怎样改为调用金山的语音库来朗读呢?
困惑已久,网上找了很多资料还是没有解决,期盼高手解惑,另外希望能与志同道合的朋友一起学习,十分感谢! 展开
2个回答
展开全部
先用下面代码寻找你可以使用的语音库
当然,据我所知,金山的语音库,除非是单独装的,一般不能调用,不过金山有链接到网站下载语音库的,如果没有可用的,就装一个吧,vw lily(中文的),vw Kate (英语的) 都还不错
Sub getvoice(s)
Set sv = CreateObject("sapi.spvoice")
For Each token In sv.GetVoices
s=s & token.GetDescription & vbcrlf '
Next
End Sub
getvoice s
MsgBox s
当然,据我所知,金山的语音库,除非是单独装的,一般不能调用,不过金山有链接到网站下载语音库的,如果没有可用的,就装一个吧,vw lily(中文的),vw Kate (英语的) 都还不错
Sub getvoice(s)
Set sv = CreateObject("sapi.spvoice")
For Each token In sv.GetVoices
s=s & token.GetDescription & vbcrlf '
Next
End Sub
getvoice s
MsgBox s
展开全部
Set objVoice = CreateObject("SAPI.SpVoice")
Set objVoice.Voice = objVoice.GetVoices("Name=语音库名称").Item(0)
objVoice.Rate = 3 '速度:-10,10 0
objVoice.Volume = 100 '声音:0,100 100
objVoice.Speak RegExpTest("[\u4e00-\u9fa5]", ReadAllTextFile)
Set objVoice.Voice = objVoice.GetVoices("Name=语音库名称").Item(0)
objVoice.Rate = 3 '速度:-10,10 0
objVoice.Volume = 100 '声音:0,100 100
objVoice.Speak RegExpTest("[\u4e00-\u9fa5]", ReadAllTextFile)
追问
安装了运行库,怎么知道它在电脑里的名称?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询