作者:tintinbt
用VB Script写了个小程序,实现了“绿色浏览器”的语音控制
(一)安装方法: 1.确定你电脑安装了miscrosoft语音支持,一般来说,安装了office xp 或office 2003的都带语音支持。 2.将rar文件解压到 greenbrowser\plugin\voicecontrol子目录下。 3.在GreenBrowser的工具->扩展工具栏->设置扩展工具栏点击,命令 右边的“ ...” 按钮,找到greenbrowser\plugin\voicecontrol\GB_VoiceControl.vbs 注意,文件类型选成 “所有文件*.*” 然后,点击 “插入”。 4.这样,在GreenBrowser的设置扩展工具栏就有一个VBS按钮。
点击这里下载插件,没有安装微软语音引擎的可以在以下地址下载到。
(二)使用方法: 点击 VoiceControl按钮,出现“你好,请吩咐...”对话框,对话筒进行语音输入,能接受的命令在GB_voicecommand.vbs中可以查到,有需要的话,请自行修改。
(三)VBS脚本内容 '========================================================================== 'VBS脚本内容
' Name: GB_VoiceControl.VBS ' Author: Figer ' Date : 2005-12-28 '========================================================================== Dim WshShell 'WshShell对象提供对本地Windows程序的访问。 Dim ScriptComplete '程序结束标志 Dim SR '语音识别(Speech Recognition)对象 Dim Grammar '语音识别的命令语法对象
Set WshShell = CreateObject("WScript.Shell") '创建WshShell对象 ScriptComplete = False '初始化程序结束标志
'创建语音识别对象,调用由"Command.XML"所定义的语法,并启动语音识别引擎 Set SR = WScript.CreateObject("SAPI.SpSharedRecoContext", "RecoContext_") Set Grammar = SR.CreateGrammar Grammar.CmdLoadFromFile "COMMAND.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 ; '获取语音识别引擎所识别的命令 'msgbox text
select case text case "放大" WshShell.SendKeys "%{r}" case "Home" WshShell.SendKeys "{Home}" case "End" WshShell.SendKeys "{End}" case "上一页" WshShell.SendKeys "{left}" case "下一页" WshShell.SendKeys "{right}" case "向上" WshShell.SendKeys "{pgup}" case "向下" WshShell.SendKeys "{pgdn}" case "左窗口" WshShell.SendKeys "^{left}" case "右窗口" WshShell.SendKeys "^{right}" case "关闭" &n bsp;WshShell.SendKeys "{F4}" case "撤消" &n bsp;WshShell.SendKeys "%{z}" case "刷新" &n bsp;WshShell.SendKeys "{F5}" case "口令结束" ScriptComplete = true '程序结束标志 Case Else MsgBox "无此命令" end select
End Sub
(四)Command.xlm的内容
<?xml version="1.0" encoding="gb2312" ?> <GRAMMAR LANGID="804"> <RULE NAME="命令" TOPLEVEL="ACTIVE"> <L> <P>口令结束</P> <P>放大</P> <P>Home</P> <p>End</p> <P>上一页</P> <P>下一页</P> <P>向上</P> <P>向下</P> <P>左窗口</P> <P>右窗口</P> <P>关闭</P> <P>撤消</P> <P>刷新</P> </L> </RULE> </GRAMMAR> |