howard777
V2EX  ›  macOS

MacOS 微信输入法语音输入 Bug 导致 AirPods 音质降级

  •  1
     
  •   howard777 · 1 day ago · 759 views

    这两天发现,AirPods 的单击和双击事件无法控制 MacBook 上面的歌曲了,双击会有登登的错误声。但是连接手机,响应是正常的。通过 AI 帮忙诊断,定位到了原因。直接说一下根因

    1. AirPods 支持两种蓝牙模式:“高质量媒体播放模式( A2DP )”和“通话模式”( HFP 协议)
      1. 从 A2DP 切换成 HFP ,音量会降低,音质会变差。一般需要使用到麦克风,比如打电话或者呼叫 Siri 时会触发这个切换。
    2. 微信输入法为了保证按下快捷键时“语音输入”能够瞬间启动、不丢失开头的几个字,可能采用了这种策略:只要它在后台运行,就会持续占着系统的麦克风设备,让麦克风随时处于“通电待命”状态。实测平时不会占用麦克风,但是只要用快捷键触发了微信输入法的语音输入功能,就会一直占用麦克风,将 AirPods 变成“通话模式”。当我双击耳机试图切歌,耳机认为我在试图“挂断电话”。Mac 发现当前根本没有活跃的电话通话,于是丢弃指令,发出“登登”的报错音。

    以前也用了微信输入法这个功能,但是没发现这个问题,可能是最近升级版本,代码有变更。

    而且,这个问题很难直观发现。

    首先,Airpods 连接 MacBook 后,MacBook 会自动将 AirPods 设为音频的输入和输出设备。但只要没有用 AirPods 打电话,系统会智能地保持为“高质量媒体播放模式( A2DP )”。

    第二,“系统设置”面板有观测者效应,在 macOS 中有一个非常违反直觉的设定:只要你打开了“系统设置”中的“声音 - 输入”面板,系统就会立刻激活当前选中设备的麦克风。因为系统需要实时监听麦克风的声音,来驱动输入列表下方的“输入音量”跳动条。如果你为了检查 AirPods 是否被选为了输入源,而一直将这个设置窗口开在后台,那么 AirPods 的麦克风就会被一直强行开启。

    第三,虽然如果有程序占用麦克风,系统状态栏会显示橙色麦克风圆点的 UI 指示。但是,输入法属于系统底层的辅助功能服务,它在底层维持麦克风连接的动作,绕过了 macOS 状态栏那个橙色麦克风圆点的 UI 指示。

    微信输入法刚出语音输入的功能的时候,就出过低级的问题,就是哪怕没有开启语音输入,不绑定快捷键,按 Fn 键盘也会全局显示微信输入法的语音输入提示文本,比较恶心,好在后面升级版本后修复了。没想到现在又出这个问题。

    6 replies    2026-05-21 20:27:59 +08:00
    shervy
        1
    shervy  
       16h 28m ago
    没用过微信输入法,不知道。
    Chicagoake
        2
    Chicagoake  
       15h 23m ago
    印象里只要调用到麦克风就会降音质保传输速度。
    diudiuu
        3
    diudiuu  
       15h 14m ago
    没用过微信输入法,不知道。
    zhinianyuxin0
        4
    zhinianyuxin0  
       9h 56m ago
    输入法属于系统底层的辅助功能服务,它在底层维持麦克风连接的动作,绕过了 macOS 状态栏那个橙色麦克风圆点的 UI 指示。 这个刚才实测,只要开启语音输入,黄点就会出现,没有被绕过啊
    sq125
        5
    sq125  
       9h 40m ago
    为什么国产的软件很多都要搞这种骚操作,比如 WPS 也会劫持系统默认文件的打开方式。
    alexon
        6
    alexon  
       4h 21m ago
    持续关注一下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1496 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 16:49 · PVG 00:49 · LAX 09:49 · JFK 12:49
    ♥ Do have faith in what you're doing.