抛砖引玉, 乐投letou 的语音操控东西

作者:tintinbt

用VB Script写了个小程序,完成了乐投letou的语音操控

(一)装置办法:
1.确认你电脑装置了miscrosoft语音支撑,一般来说,装置了office xp 或office 2003的都带语音支撑。
2.将rar文件解压到 乐投letou\plugin\voicecontrol子目录下。
3.在乐投letou的东西->扩展东西栏->设置扩展东西栏点击,指令 右边的“ ...” 按钮,找到乐投letou\plugin\voicecontrol\GB_VoiceControl.vbs 留意,文件类型选成 “一切文件*.*” 然后,点击 “刺进”。
4.这样,在乐投letou的设置扩展东西栏就有一个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>

回来协助目录