讯飞+按键精灵实现语音控制电脑
生活随笔
收集整理的這篇文章主要介紹了
讯飞+按键精灵实现语音控制电脑
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
背景
最近發(fā)現(xiàn)訊飛語音助手的PC端測試,達(dá)到了很好的精度,于是嘗試了用訊飛懸浮窗+按鍵精靈實(shí)現(xiàn)語音控制電腦的一種解決方案。
首先,我們要判斷訊飛如何把文字輸出到文本框內(nèi)通過監(jiān)聽剪貼板事件,可以發(fā)現(xiàn),當(dāng)文字識別后,訊飛將其從剪貼板輸出。那么我們就可以用按鍵精靈來捕獲語音文本,從而判斷關(guān)鍵字或語法,進(jìn)行模擬按鍵,達(dá)到控制電腦的目的。
實(shí)現(xiàn)環(huán)境
- windows
- 訊飛語音懸浮窗
- 按鍵精靈
- listary(語音控制)
實(shí)現(xiàn)的功能
- 控制電腦的方式
- 搜索文件與打開文件
- 常見的界面交互快捷方式
- 瀏覽器的快捷鍵
- 文本輸入時(shí)的文字操作
- 文本輸入時(shí)的特殊符號轉(zhuǎn)義
代碼(asrfly.Q)
[General] SyntaxVersion=2 BeginHotkey=118 BeginHotkeyMod=0 PauseHotkey=0 PauseHotkeyMod=0 StopHotkey=119 StopHotkeyMod=0 RunOnce=1 EnableWindow= MacroID=e22fc3f2-49a6-40c0-b752-8917d5296e3d Description=訊飛語音輔助輸入 Enable=1 AutoRun=0 [Repeat] Type=1 Number=1 [SetupUI] Type=2 QUI= [Relative] SetupOCXFile= [Comment][Script] Function Listary(str)//Alt+F(Listary自定義)KeyDown "Alt", 1KeyPress "F", 1KeyUp "Alt", 1If str<>"" ThenSayString strDelay 100KeyPress "Enter", 1End If End Functionp1 =WaitKey() a = Replace(Plugin.Sys.GetCLB()," ","") Call Plugin.Sys.SetCLB("")Select Case a Case "搜索文件"Listary("") Case "打開瀏覽器"Listary("liebao.exe") Case "打開計(jì)算器"Listary("calc.exe") Case "打開播放器"Listary ("網(wǎng)易云音樂") Case "搜索文本"KeyDown "Ctrl", 1KeyPress "F", 1KeyUp "Ctrl", 1 Case "關(guān)閉窗口"KeyDown "Alt", 1KeyPress "F4", 1KeyUp "Alt", 1 Case "前進(jìn)"KeyDown "Shift", 1KeyPress "BackSpace", 1KeyUp "Shift", 1 Case "后退"KeyPress "BackSpace", 1 Case "主頁"KeyDown 18, 1KeyPress 36, 1KeyUp 18, 1 Case "原始大小"KeyDown 17, 1KeyPress 48, 1KeyUp 17, 1 Case "頁面放大"KeyDown 17, 1KeyDown 16, 1KeyPress 187, 1KeyUp 16, 1KeyUp 17, 1 Case "頁面縮小"KeyDown 17, 1KeyDown 16, 1KeyPress 189, 1KeyUp 16, 1KeyUp 17, 1 Case "強(qiáng)制刷新"KeyDown 17, 1KeyPress 116, 1KeyUp 17, 1 Case "全屏顯示"KeyPress "F11", 1 Case "選中地址欄"KeyPress "F6", 1 Case "新建標(biāo)簽頁"KeyDown 17, 1KeyPress 84, 1 Case "新建隱身窗口"KeyDown 17, 1KeyDown 16, 1KeyPress 78, 1KeyUp 16, 1KeyUp 17, 1 Case "切換到后一個(gè)標(biāo)簽頁"KeyDown "Ctrl", 1KeyPress "Tab", 1KeyUp "Ctrl", 1 Case "切換到前一個(gè)標(biāo)簽頁"KeyDown "Ctrl", 1KeyDown "Shift", 1KeyPress "Tab", 1KeyUp "Shift", 1KeyUp "Ctrl", 1 Case "關(guān)閉當(dāng)前標(biāo)簽頁"KeyDown "Ctrl", 1KeyPress "F4", 1KeyUp "Ctrl", 1 Case "關(guān)閉所有標(biāo)簽頁"KeyDown "Ctrl", 1KeyDown "Shift", 1KeyPress "W", 1KeyUp "Shift", 1KeyUp "Ctrl", 1 Case "恢復(fù)最近關(guān)閉的標(biāo)簽頁"KeyDown "Ctrl", 1KeyDown "Shift", 1KeyPress "T", 1KeyUp "Shift", 1KeyUp "Ctrl", 1 Case "開發(fā)人員工具"KeyPress "F12", 1 Case "清理網(wǎng)上痕跡"KeyDown "Ctrl", 1KeyDown "Shift", 1KeyPress "Delete", 1KeyUp "Shift", 1KeyUp "Ctrl", 1 Case "查看源代碼"KeyDown 17, 1KeyPress 85, 1KeyUp 17, 1 Case "保存"KeyDown 17, 1KeyPress 83, 1KeyUp 17, 1 Case "另存為"KeyDown 17, 1KeyDown 16, 1KeyPress 83, 1KeyUp 16, 1KeyUp 17, 1 Case "刪除"KeyPress "BackSpace", 1 Case "向前刪除"KeyPress "BackSpace", 1 Case "向后刪除"KeyPress "Delete", 1 Case "向前"KeyPress "Up", 1 Case "向后"KeyPress "Down", 1 Case "向左"KeyPress "Left", 1 Case "向右"KeyPress "Right", 1 Case "首頁"KeyPress "Home", 1 Case "尾頁"KeyPress "End", 1 Case "向上翻頁"KeyPress "PageUp", 1 Case "向下翻頁"KeyPress "PageDown", 1 Case "向上滾動(dòng)"MouseWheel 2 Case "向下滾動(dòng)"MouseWheel -2 Case "縮進(jìn)"KeyPress "Tab", 1 Case "大寫鎖定"KeyPress "CapsLock", 1 Case "中英切換"KeyPress "Shift", 1 Case "確定"KeyPress "Enter", 1 Case "換行"KeyPress "Enter", 1 Case "回車"KeyPress "Enter", 1 Case "開始菜單"KeyPress "Win", 1 Case "空格"KeyPress "Space", 1 Case Else//saystring a End Select /*以下部分輸入到訊飛語音快捷短語加法=+ 減法=- 乘法=* 除法=/ 注釋=// 美元符號=$ 感嘆號=! 冒號=: 雙引號=" 單引號=' 井號=# 夏普=# 艾特=@ at=@ 百分號=% 次方=^ 省略號=…… 和符號=& 左圓括號=( 右圓括號=) 左中括號=[ 右中括號=] 左大括號={ 右大括號=} 下劃線=_ 斜杠=\ 豎杠=| 左箭頭=< 右箭頭=> 波形符=~ 逗號=, 逗=, 句號=。 點(diǎn)=. 問號=? 問=? 等于== 破折號=—— 左書名號=《 右書名號=》 日元符號=¥*/總結(jié)
以上是生活随笔為你收集整理的讯飞+按键精灵实现语音控制电脑的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android rom os,在安卓手机
- 下一篇: Java中ArrayList类的常用方法