Mac Monterey下Android Studio虚拟机音频无法通过BlackHole捕获求助
解决Mac上Android虚拟设备音频无法通过BlackHole捕获的问题
核心原因
Android虚拟设备(AVD)的音频输出逻辑可能绕过Mac系统默认音频设备,直接调用独立的CoreAudio通道,导致BlackHole无法捕获其音频流。
解决方案
1. 强制AVD使用系统默认音频设备
- 打开Android Studio的AVD Manager,点击目标设备的「Edit」按钮
- 展开「Show Advanced Settings」,找到「Audio Output」选项
- 将默认的「Automatic」改为「System Default」,或直接选择BlackHole设备(如果列表中显示)
- 重启AVD,测试音频是否流入BlackHole
2. 创建聚合设备实现音频分流
如果AVD仍不识别BlackHole,可通过聚合设备让音频同时输出到BlackHole和内置扬声器:
- 打开「Audio MIDI Setup」(Spotlight搜索或Launchpad中查找)
- 点击左下角「+」号,选择「Create Aggregate Device」
- 在右侧设备列表中,同时勾选BlackHole和你的内置扬声器(如「Built-in Output」)
- 进入Mac系统设置的「声音」面板,将聚合设备设为默认输出
- 重启AVD,此时音频会流入聚合设备,BlackHole可捕获,同时你也能从扬声器听到声音
3. 排查OBS捕获问题
如果想用OBS捕获:
- 在OBS的「音频设置」中,将「桌面音频设备」改为BlackHole(配合聚合设备使用)
- 确保OBS的音频轨道已启用,且音量滑块未静音
4. 规避Soundflower兼容性问题
Soundflower在Mac Monterey及以上系统兼容性较差,容易导致AVD音频驱动冲突,建议继续使用BlackHole,无需替换。
5. 兜底方案
- 更新Android Studio到最新稳定版,修复旧版本的AVD音频适配问题
- 删除现有AVD,重新创建一个新的虚拟设备,避免配置文件损坏导致的异常
内容的提问来源于stack exchange,提问作者Alwin
相关产品推荐
相关产品推荐

