如何更舒适地在PC端使用“讯飞语音输入”?——我的方案

PC端讯飞语音输入存在的问题:

  1. 开启后一直存在一个置顶悬浮窗,令人不适
  2. 启用方式是:点击悬浮窗(远距离鼠标运动)或按下F6(手在键盘上干嘛用语音?)

解决方案:
针对问题一,我的办法是开机启动一个名为“ Infinite Screen”的软件【需要以win7兼容启动】,可以无限拓展屏幕,直接把窗口移出屏幕就哦了,完美解决。
针对问题二,我使用了以下ahk代码,完美解决。

global midindex := 1
sleep,2000
Run, iFlyVoice.exe, C:\Program Files (x86)\iFlytek\iFlyIME\3.0.1727, hide
winwait, 语音悬浮窗
send,{F6}
~LButton::
If  (A_Cursor = "IBeam" ) {
  Edit_Mode := 1
  send, {F6}
  if (Mod(midindex,2) = 1){
  ToolTip,now listening~~
  Sleep,1000
  ToolTip
} else {
  ToolTip,mic closed~~
  Sleep,1000
  ToolTip
}
  midindex := midindex+1
} else if(A_Cursor = "Arrow" ) {
   Edit_Mode := 0
} 

当鼠标箭头变成缩窄的“工”字形时,单机鼠标左键,触发F6,开始语音识别。说完后,再次单击鼠标左键,触发F6,结束语音识别【提前设置讯飞语音为长文本模式】。
伴随每次触发,会有1秒气泡提醒,“now listening~~”或者“mic closed~~”

使用效果:
GIF 2021-8-3 13-49-16

这样网上冲浪的时候,就再也不用动键盘了~~

看到 小弟 的联想搜索,我笑出了声

想法不错,改写了下脚本。

RemoveToolTip:
  ToolTip
return

#m::
mid_disable_flag := mid_disable_flag == "" ? 1 : ""
return

~LButton::
If  (mid_disable_flag == "" && mid_click_flag == "" && A_Cursor = "IBeam") {
  SoundGet, master_volume
  SoundSet, 0
  send, {F6 down}
  ToolTip,now listening
  mid_click_flag = 1
} else if(mid_disable_flag == "" && mid_click_flag == 1) {
  SoundSet, master_volume
  send, {F6 up}
  PostMessage, 0x0112, 0xF020,,,  语音悬浮窗 ;隐藏悬浮窗
  ToolTip,mic closed
  SetTimer, RemoveToolTip, -500
  mid_click_flag = ""
} 
return

默认启用,win+m禁用,语音输入监听的时候音量静音,结束时恢复。

PS:AHK PostMessage 隐藏悬浮窗在两台电脑上一个能work一个不行