基于vbs通过语音向电脑发送命令

1、程序源码

将以下配置文件另存为x.xml,vbs源码另存为文件,双击即可运行。运行前如果您的电脑没有启用麦克风,则会提示您开启麦克风,按顺序操作即可。 

(1)vbs源码

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 

(2)命令配置文件

<?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> 

 

2、发送语音指令

(1)当界面弹出“你好,主人,请吩咐”提示时,点击确定,并可以向您的电脑发送指令了。

104243_zH5x_2391658.png

(2)向您的麦克风说出“记事本”三个字,这时计算机就会开启记事本程序。好玩吧。以下是我本地的电脑截图:

104524_Ntc5_2391658.png

(3)当您说出“命令结束”四个字时,就会弹出“欢迎在跟我说话,再见”的提示。

104620_SbYe_2391658.png

点击确定后,即退出了程序。

转载于:https://my.oschina.net/u/2391658/blog/708792

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值