將如下配置文件另存爲x.xml,vbs源碼另存爲文件,雙擊便可運行。運行前若是您的電腦沒有啓用麥克風,則會提示您開啓麥克風,按順序操做便可。 oop
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
<?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>
(1)當界面彈出「你好,主人,請吩咐」提示時,點擊肯定,並能夠向您的電腦發送指令了。spa
(2)向您的麥克風說出「記事本」三個字,這時計算機就會開啓記事本程序。好玩吧。如下是我本地的電腦截圖:code
(3)當您說出「命令結束」四個字時,就會彈出「歡迎在跟我說話,再見」的提示。xml
點擊肯定後,即退出了程序。對象