您好,登录后才能下订单哦!
小编给大家分享一下vbs如何调用中文语音让你电脑听你的命令,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
															如果你机器本身装了office的话,可能不需要装以下软件,我机器由于装的是openoffice,所以我提前装了 
speechsdk51.exe 
CNSpeechPackage.msi 
这两个软件。如果让电脑朗读,参考下面的代码
复制代码 代码如下:
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) 
或是装完speechsdk51.exe之后可以参考 
C:\Program Files\Microsoft Speech SDK 5.1\Samples\Scripts\SimpleTTS\SimpleTTS.html这个文件。 
如果让电脑听你的命令,下边是vbs代码 
复制代码 代码如下:
'========================================================================== 
' Name : CommandPC.VBS 
' AUTHOR : HUAYING 
' DATE : 2005-1-31 
'========================================================================== 
Dim CommandDictionary '命令字典对象 
Dim WshShell 'WshShell对象提供对本地Windows程序的访问。 
Dim ScriptComplete '程序结束标志 
Dim SR '语音识别(Speech Recognition)对象 
Dim Grammar '语音识别的命令语法对象 
'初始化命令字典对象,可根据自己的需要添加命令 
Set CommandDictionary = CreateObject("Scripting.Dictionary") 
CommandDictionary.Add "上网","""C:\Program Files\Internet Explorer\iexplore.exe""" '注意双引号的数目 
CommandDictionary.Add "计算器", "calc" 
CommandDictionary.Add "记事本", "notepad" 
CommandDictionary.Add "空当接龙", "freecell" 
Set WshShell = CreateObject("WScript.Shell") '创建WshShell对象 
ScriptComplete = False '初始化程序结束标志 
'创建语音识别对象,调用由"Command.XML"所定义的语法,并启动语音识别引擎 
Set SR = WScript.CreateObject("SAPI.SpSharedRecoContext", "RecoContext_") 
Set Grammar = SR.CreateGrammar 
Grammar.CmdLoadFromFile "x.xml", SLODynamic 
Grammar.CmdSetRuleIdState 0, 1 
MsgBox "你好,主人,请吩咐。" 
'等候你的语音命令(需要安装麦克风) 
'当识别出"命令结束"命令时程序结束 
Do 
WScript.Sleep 1000 
Loop Until ScriptComplete 
MsgBox "欢迎再跟我说话,再见!" 
'你的语音命令被识别 
Sub RecoContext_Recognition(ByVal StreamNumber,ByVal StreamPosition,ByVal RecognitionType,ByVal Result ) 
Text = Result.PhraseInfo.GetText '获取语音识别引擎所识别的命令 
If Text <> "命令结束" Then 
WshShell.Run CommandDictionary.Item(Text) '由WshShell对象Run方法执行你的命令 
Else 
ScriptComplete = true '程序结束标志 
End If 
End Sub 
================================== 
x.xml源码 
复制代码 代码如下:
<?xml version="1.0" encoding="gb2312" ?> 
<GRAMMAR LANGID="804"> 
<RULE NAME="命令" TOPLEVEL="ACTIVE"> 
<L> 
<P>上网</P> 
<P>计算器</P> 
<P>记事本</P> 
<P>空当接龙</P> 
<P>命令结束</P> 
</L> 
</RULE> 
</GRAMMAR> 
========在中文的机器上直接运行这个vbs,很有可能出现0x80045052错误,解决办法: 
控制面板---语音-语音认别选项卡------------》改成Microsoft Simplified Chinese
看完了这篇文章,相信你对“vbs如何调用中文语音让你电脑听你的命令”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。