【AHK】快速 [启动&关闭] [讯飞语音悬浮窗&小爱同学]

前面发的帖子因为一些原因暂时无法访问,所以重新发布一个。

脚本功能即为快速打开和关闭讯飞语音悬浮窗。

使用方法,把脚本和讯飞语音悬浮窗的快捷方式放在一起,然后启动脚本(前提是电脑中安装有 AutoHotKey)。

当然你也可以理解为把语音悬浮窗的快捷方式放到脚本身边一份。

重点提示: 讯飞语音输入法安装之后,并不需要设置进输入法列表。你依旧可以使用自己所喜欢的各种输入法,而讯飞的输入法只使用它的语音输入部分。但不要对讯飞语音输入法自行解压安装包提取绿色版。提取出来的绿色版,在最开始你会觉得它确实是可以用的,但实际上语音识别的准确率会下降非常多,怀疑可能是对麦克风部分的优化不够,比如安装包会对这部分进行驱动级别的支持(猜测。

将下面代码保存为 启动&关闭语音输入法.ahk,注意文件编码应该是 GBK 或者 GB2312,如果使用 UTF-8,且快捷方式的名称是中文,那么会导致错误,以及所有的中文注释可能成为乱码.

Update: 添加了对小爱同学的“并不优雅”启动

; 设定坐标模式为相对于程序窗口,如果只是启动语音输入法,这一行可以不要
CoordMode, Mouse, Window
; 按键可以自定义,当前按键为鼠标侧键下边的那一个。XButton2 的话就是上面的那一个.
XButton1::
  ; 这里获取当前语音输入进程的 PID
  Process, Exist, iFlyVoice.exe
  iFlyPID = %ErrorLevel%
  ; 判断是否存在该 PID
  if iFlyPID = 0
  {
    ; 不存在则运行对应的快捷方式,前面代码比较长,是为了能够隐藏提权提醒(以管理员方式进行运行)
    Run %comspec% /c set __COMPAT_LAYER=RUNASINVOKER && start 语音悬浮窗.lnk, ,min
  } Else {
    ; 如果存在此进程则结束它
    Process, Close, %iFlyPID%
  }
  Return
; 以下是尝试用侧键启动小爱同学,首先要在微软的应用商店安装,安装地址如下:
; https://www.microsoft.com/zh-cn/p/小爱同学/9mw76kfhnz0c
; 在开始菜单中找到他的快捷方式,直接拖动到脚本旁边,然后修改快捷方式的名称为 XiaoAI

; 鼠标前面那个侧键(也可以根据自己的习惯进行修改
XButton2::
  ; 查找对应窗口
  WinGet, XiaoAI, ID, 小爱同学 ahk_exe ApplicationFrameHost.exe
  if(XiaoAI){
    ; 如果窗口存在,那么关闭它
    WinClose, 小爱同学 ahk_exe ApplicationFrameHost.exe
  } else {
    ; 如果窗口不存在那么启动它
    Run "XiaoAI.lnk"
    ; 这个延时是为了等待程序启动,根据自己实际状况进行调节
    Sleep 1300
  }
  ; 激活窗口
  WinActivate, 小爱同学 ahk_exe ApplicationFrameHost.exe
  ; 获取窗口的高度
  WinGetPos, , , W, H, 小爱同学 ahk_exe ApplicationFrameHost.exe
  ; 在左下角的位置,单击鼠标左键,这很不优雅,但是目前没有什么太好的办法
  MouseClick, Left, 37, % H - 37
  Return

使用起来就很简单了,一键开启,一键结束,只要电脑不是很差,基本上是秒开秒关。

我对于语音输入有非常大的使用需求
我一直都是windows端的讯飞输入法的语音输入,然后快捷键启用停止讯飞语音输入。
但是 输入法版本的经常失灵。
现在时间是2023年8月5日,请问 稻米鼠 还有在用 贴子里这个方案吗?

没有,偶尔的语音识别失败,而且是连续失败太影响体验了。也没有找到什么好的替代方案

然后我又仔细思考了一下,也许讯飞对自己鼠标键盘请求的优先级会很高,而输入法就随随便便了。如果是这样,大概还得买硬件(买服务)。虽然理论上知道鼠标/键盘发送的键值也可以自己搞,但我没试过。

昨天我在安卓版讯飞输入法中无意间发现了一个离线语音识别的功能。只需要下载一个数据包,就可以在本地进行语音输入了。如果能将这个功能移植到桌面端,那么Windows的语音输入速度问题不就可以解决了吗?