你想在 Mac 上实现分应用音量控制,找到了两类工具:一类是虚拟音频驱动(比如 Loopback、BlackHole,或者 SoundSource 里的驱动组件),另一类是轻量级的菜单栏混音器(比如 SoundDial 或 Background Music)。两者都宣称能实现应用之间的独立音量控制,但实现原理有本质区别,各自的取舍也值得重视。
虚拟音频驱动的原理
虚拟音频驱动会在 macOS 中创建一个虚拟的音频设备。应用把音频发送到这个虚拟设备后,驱动软件再负责继续路由——过程中可能会拆分、混合,或处理这些音频流。这种方式非常强大:你可以把不同应用发送到不同的物理输出设备,为每个应用单独应用均衡,录制单个应用的音频流,甚至搭建复杂的路由矩阵。
但它也有相应的代价:
- 系统级安装:驱动会修改你的音频子系统,需要安全授权,有时还需要重启。
- 对 macOS 更新较脆弱:苹果经常改动音频框架,驱动可能在大版本更新后失效,在开发者修复之前你可能完全没有声音。
- 复杂度较高:路由矩阵和虚拟设备功能强大,但如果你只是想让某个应用小声一点,反而会觉得无从下手。
- 不在 App Store 上架:由于沙盒限制,需要安装驱动的应用无法通过 Mac App Store 分发。
SoundDial 的原理
SoundDial 采用了不同的思路:它通过 macOS 系统 API 直接控制每个应用音频流的音量,不需要安装任何驱动或虚拟设备。你的“声音”设置里不会出现任何虚拟音频设备,也不需要对系统做任何改动。
同样,它也有自己的取舍:
- 不支持复杂路由:SoundDial 控制的是每个应用的音量、静音和增益,不能把应用路由到不同的物理输出设备,也不提供分应用均衡。
- App Store 沙盒运行:安装和卸载都很干净,不会弹出驱动相关的安全提示,也不需要重启。
- 对系统更新更稳健:由于不改动音频子系统,系统更新后出问题的概率更低。
- 简单直接:每个应用一个滑块,加上配置文件和自动闪避,不需要配置任何路由图。
你该选哪一个?
诚实地评估自己真正的需求:
- 选择虚拟音频驱动,如果你需要把特定应用路由到特定的物理输出(比如游戏声音走耳机、音乐同时走音箱)、录制单个应用的音频流,或者为不同应用分别应用音效和均衡。这种情况下 Loopback 或 SoundSource 是最佳选择。
- 选择 SoundDial,如果你需要的是分应用音量控制、分应用静音、超过 100% 的增益、音量配置文件和自动闪避——而不想承担安装驱动带来的复杂度和脆弱性。这也覆盖了大多数人的实际需求。
大多数搜索“分应用音量控制”的人,想要的其实是第二种方案:通话时让 Spotify 小声一点,或者让 Discord 比游戏声音更大。这并不需要虚拟音频设备,只需要每个应用一个音量滑块——而这正是 SoundDial 在不触碰你的音频子系统的前提下所提供的。
在 Mac App Store 获取 SoundDial——一次性付费 14.99 欧元,无需订阅,支持 macOS 14.2 及以上版本。