Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

微信输入法语音提示音

微信输入法(WeType)的语音输入很好用,但有个致命问题:录音时没有任何提示音,你不知道自己现在到底有没有在录音。经常按了快捷键以为开始输入了,其实没开始;或者以为结束了,其实还在录。

这个小工具解决这个问题:监听微信输入法的麦克风占用状态,开始录音时播放提示音,结束录音时再播放一个

不修改微信输入法本身,纯外部监听,绿色无侵入。

工作原理

微信输入法语音输入时,实际持有麦克风的是 wetype_update.exe 进程。程序用 Windows WASAPI(IAudioSessionManager2)枚举默认录音设备的音频会话,找到该进程的会话状态:

  • Inactive → Active:开始录音,播放开始提示音
  • Active → Inactive/Expired:结束录音,播放结束提示音

采用 200ms 轮询 + 150ms 去抖,稳定抓取状态变化,不依赖事件回调(comtypes 实现 COM 事件回调较绕,轮询方案更简单可靠)。

特性

  • 自动检测:支持点击模式(ALT 切换)和长按模式(按住右 CTRL)
  • 系统托盘常驻:右键图标可开关提示音、开关开机自启、退出
  • 开机自启:写入 HKCU\...\Run 注册表项
  • 单实例锁:防止重复启动
  • 自定义提示音:支持 MP3,可换成任意你想要的声音
  • 绿色无侵入:不修改微信输入法,不注入进程,纯外部监听

使用方法

方式一:直接下载 exe(推荐)

  1. Releases 下载 WeTypeVoiceTip.exe
  2. 双击运行,右下角托盘出现图标即表示启动成功
  3. 右键托盘图标,可开关"开机自启"

方式二:从源码运行

git clone https://github.com/SDS-CC/wetype-voice-tip.git
cd wetype-voice-tip
python -m venv venv
venv\Scripts\activate
pip install pycaw comtypes pystray Pillow psutil
python wetype_voice_tip.py

自定义提示音

程序会在 %APPDATA%\WeTypeVoiceTip\ 目录读取提示音文件,优先级:

文件 用途 说明
start.mp3 开始录音 优先使用
start.wav 开始录音 无 mp3 时用,首次运行自动生成(升调)
stop.mp3 结束录音 优先使用
stop.wav 结束录音 无 mp3 时用,首次运行自动生成(降调)

想换成自己的声音? 把你的音频文件重命名为 start.mp3stop.mp3 放进 %APPDATA%\WeTypeVoiceTip\ 目录即可。比如可以换成李云龙的"有话就说"和"别他娘的扯淡了你"——随你高兴。

从源码打包 exe

pip install pyinstaller
pyinstaller WeTypeVoiceTip.spec --clean --noconfirm

打包产物在 dist\WeTypeVoiceTip.exe

项目结构

├── wetype_voice_tip.py    # 主程序
├── poc_mic_monitor.py     # PoC 验证脚本(用于调试 WASAPI 监听)
├── WeTypeVoiceTip.spec    # PyInstaller 打包配置
├── app_icon.ico           # 应用图标
├── README.md
├── LICENSE
└── .gitignore

系统要求

  • Windows 10/11(依赖 WASAPI 和 winmm)
  • 微信输入法(WeType)已安装并启用语音输入功能

常见问题

Q:为什么托盘图标不显示 / 程序没反应? A:检查右下角托盘的"显示隐藏的图标",程序在后台运行。首次运行可能被杀毒软件拦截,加白名单即可。

Q:按了语音快捷键但没提示音? A:确认微信输入法的语音输入功能正常工作。程序监听的是 wetype_update.exe 的麦克风会话,如果微信输入法用的是别的进程录音则检测不到。可以运行 poc_mic_monitor.py 查看当前哪些进程占用了麦克风。

Q:开机自启不生效? A:右键托盘图标确认"开机自启"已勾选。部分安全软件会拦截注册表写入,需要允许。

Q:支持其他输入法吗? A:目前只针对微信输入法。如果想支持其他输入法,修改 wetype_voice_tip.py 里的 TARGET_PROCESS 常量即可。

技术细节

  • 麦克风状态检测:WASAPI IAudioSessionManager2 + IAudioSessionControl2,通过 pycaw + comtypes 调用
  • 音频播放:WAV 用 winsound,MP3 用 Windows MCI(mciSendStringW
  • 托盘图标pystray + Pillow,图标数据 zlib 压缩嵌入源码
  • 开机自启HKCU\Software\Microsoft\Windows\CurrentVersion\Run 注册表项
  • 单实例锁:Windows 命名互斥量 Global\WeTypeVoiceTip_Mutex

License

MIT

About

微信输入法语音输入提示音 - 监听 WeType 麦克风状态, 开始/结束录音时播放提示音

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages