别再让 macOS
偷偷换掉你的麦克风
FocusMic 把系统默认音频输入锁定在你选定的设备上。无论是插入新麦克风、连接蓝牙耳机还是从睡眠中唤醒,它都会立即帮你切回来。
Never lose your mic while vibecoding.
试试点击面板里的开关
这些时刻,macOS 都可能换掉你的默认输入
如果你依赖某支特定的麦克风开会、录音或直播,每一次自动切换都是一次事故。
插入 USB 设备
新接入的 USB 麦克风或声卡,会被系统直接设为默认输入。
连接蓝牙耳机
耳机一连上,通话立刻切到音质糟糕的蓝牙麦克风。
睡眠后唤醒
合盖再打开,默认输入悄悄变了,直到别人说"听不清你"才发现。
选定一次,持续守护
轻量、安静、常驻菜单栏。FocusMic 只做一件事,并把它做好。
首选设备锁定
在设备列表中点选一个麦克风,FocusMic 会持续把它保持为系统默认输入。
热插拔感知
实时监听设备列表变化,设备重新接入后自动重新应用你的偏好。
防抖处理
设备事件密集时延迟 0.15–0.3 秒再执行切换,避免系统来回抖动。
菜单栏常驻
不占 Dock、不弹窗口。图标状态一眼可见:锁定生效、设备离线、守护关闭。
开机自启动
可选择随系统登录自动启动,开机即进入守护状态,无需手动打开。
活动日志
每一次强制切回都有记录,在设置窗口随时查看最近的守护动作。
基于 Core Audio,原生而克制
不做轮询、不占资源。FocusMic 直接监听系统音频硬件事件,只在需要时出手。
监听
通过 AudioObjectAddPropertyListenerBlock 监听设备列表与系统默认输入的每一次变化。
防抖
检测到变化后等待 0.15–0.3 秒的防抖窗口,合并密集事件,避免与系统"抢方向盘"。
切回
确认守护开启且首选设备在线后,将 kAudioHardwarePropertyDefaultInputDevice 写回你选定的设备。
为什么值得信任
- 原生实现:Swift + SwiftUI 编写,直接调用 Core Audio 框架,无第三方依赖。
- 事件驱动:靠系统回调触发,几乎零 CPU 占用,不影响电池续航。
- 智能匹配:优先按设备 UID 精确匹配,UID 变化时按名称回退,识别更可靠。
- 完全开源:MIT 许可证,代码全部公开,可自行审计与构建。
三步完成,从此忘掉它
没有账号、没有配置文件。设置一次,FocusMic 就安静地在后台工作。
点击菜单栏图标
启动应用后,点击菜单栏的麦克风图标打开控制面板。
选择首选设备
在输入设备列表中点选你想固定使用的那支麦克风。
打开守护开关
开启「守护输入设备」,之后的一切交给 FocusMic。