← 返回全部文章

电脑没麦克风?AndroidMic 把安卓手机接进会议软件

一部安卓手机,加上 AndroidMic 和虚拟音频线,就能临时给电脑补上一支麦克风。本文给出 Windows 的完整设置方法,也讲清 ADB、USB、macOS、Linux 的用法与安全边界。

台式机没带麦克风,笔记本收音又闷又远,临时开会时经常来不及买设备。抽屉里的安卓旧手机,通常有一套还算能用的麦克风。

AndroidMic 可以把手机采集到的声音送进 Windows 、 macOS 或 Linux 。手机和电脑都装好客户端,再配一条虚拟音频线,微信、腾讯会议、 Zoom 、 Discord 、 OBS 之类的软件就能收到手机声音。

这套方案适合临时开会、语音聊天、直播测试和开发调试。它省下一次临时采购,但无法代替正经的 USB 麦克风:延迟、稳定性和底噪仍受手机、网络、音频配置与系统驱动影响。

项目地址:github.com/teamclouday/AndroidMic

它是怎么接上电脑的

AndroidMic 由两个程序组成:Android 端负责录音,桌面端负责接收。当前支持四种连接方式:

  • TCP:手机和电脑在同一局域网,配置最省事;
  • UDP:同样走局域网,网络抖动时不会重传丢失的数据;
  • ADB:通过 USB 调试和 adb reverse 传输;
  • USB/AOA:项目界面写作 USB Serial,代码采用 Android Open Accessory 与 USB bulk 传输。

桌面端收到的是未压缩 PCM 音频,随后把声音播放到指定的电脑输出设备。程序本身不会安装系统虚拟麦克风,所以还要补上 VB-CABLE 、 BlackHole 或 Linux 虚拟音频设备。

这条链路容易卡在设备名称上。以 Windows 的 VB-CABLE 为例:

  • AndroidMic 桌面端选择 CABLE Input,把手机声音送入虚拟线;
  • 微信或会议软件选择 CABLE Output,从虚拟线另一端收音。

名称看着有点反直觉。第一次配置时开着 Windows 的声音设置,观察音量条是否跳动,会比反复切设备快得多。

Windows:十分钟跑通一条最小链路

截至 2026 年 7 月 28 日,最新正式版是 2.2.8。 Release 提供 Windows x64 、 Windows x86 、 Linux AppImage 、 Android APK,以及 Intel 和 Apple Silicon 两种 macOS 安装包。 Android 端也能从 F-Droid 安装,最低系统版本为 Android 6.0 。

1. 安装手机端和电脑端

从项目 Release 下载与电脑架构匹配的 Windows 安装器,再安装 Android APK 。只从 GitHub Release 或 F-Droid 获取,别在软件下载站找二次打包版本。

Windows 端还需要安装 VB-CABLE 。安装完成后最好重启一次,确保系统已经注册虚拟音频设备。

2. 先用 TCP 测通

让手机和电脑连到同一个可信局域网。打开电脑端 AndroidMic,选择正在使用的网卡,端口可保留桌面端显示的值;代码中的默认端口是 54345

桌面端选择 TCP,输出设备选择:

CABLE Input (VB-Audio Virtual Cable)

点击 Connect 后,界面会进入等待连接状态,并显示电脑 IP 与端口。

手机端也选择 TCP,填写电脑端显示的 IP 和端口。音频参数先用一套保守值:

采样率:44100 Hz
声道:Mono
格式:PCM 16-bit
音源:MIC

授予麦克风和通知权限,再开始连接。

3. 在会议软件里选对麦克风

打开微信、腾讯会议、 Zoom 或 OBS 的音频设置,把麦克风改成:

CABLE Output (VB-Audio Virtual Cable)

对着手机说话,查看输入音量条。电脑扬声器里出现自己的回声时,通常是 AndroidMic 输出设备选成了真实扬声器;切回 CABLE Input 即可。

正式开会前,先用系统录音机录十秒。检查人声大小、是否单声道、有没有断续,再打开降噪和增益。滤镜一次只开一个,出了卡顿才知道该关哪项。

不想走局域网,可以改用 ADB

ADB 模式适合公司网络、公共网络或路由器隔离比较严格的环境。它让桌面端只监听 127.0.0.1,音频通过 USB 数据线和 adb reverse 进入电脑。

先安装 Android Platform Tools,手机开启开发者选项与 USB 调试。连接数据线后执行:

adb devices

手机会弹出 RSA 指纹确认。核对电脑后再允许,不要勾选陌生设备。

接着在手机端和桌面端都选择 ADB,端口保持一致,桌面端先进入等待状态,再从手机发起连接。程序内部执行的动作等价于:

adb -s DEVICE_ID reverse tcp:54345 tcp:54345

用完后关闭 USB 调试或撤销这台电脑的调试授权。 ADB 缩小了局域网暴露面,同时给电脑较高的手机调试权限,只在自己的电脑上启用。

USB/AOA 留给愿意折腾驱动的人

USB/AOA 不依赖 TCP 或 UDP,但 Windows 可能需要用 Zadig 把设备驱动切换成 WinUSB 。这个动作可能影响原来的 ADB 或 MTP 文件传输。项目说明还提到,第一次点击 Connect 有时只会把手机切进 Accessory 模式,需要再点一次。

日常临时开会,TCP 和 ADB 已经够用。 USB/AOA 更适合网络环境不稳定、又愿意处理驱动兼容的人。

macOS 和 Linux 怎么配

macOS 需要先装 BlackHole 。 AndroidMic 桌面端把输出设备设为 BlackHole,会议软件的麦克风也选择 BlackHole 。 Release 同时提供 Intel 与 Apple Silicon 的 DMG 。

项目当前没有完成 macOS 代码签名。若系统拦截,README 给出的处理命令是:

xattr -c /Applications/AndroidMic.app

这会清除应用的隔离扩展属性,只对从项目 Release 核对下载的文件执行。

Linux 可以用 PulseAudio 或 PipeWire 创建虚拟设备。 README 给出的 PulseAudio 命令如下:

pactl load-module module-null-sink sink_name=virtual_mic
pactl load-module module-remap-source master=virtual_mic.monitor source_name=virtual_mic_source

AndroidMic 输出选择 virtual_mic,会议软件输入选择 virtual_mic_source,声道改成 Mono 。最新 2.2.8 的 Linux/PipeWire 仍有人报告明显延迟,下载页里的 AppImage 也没有包含发布后合入的 PipeWire 打包修复。遇到几秒延迟时,先关闭降噪和音效,再尝试 48 kHz;仍无改善就换回较早版本或等待新版。

音质别一上来拉满

项目允许选择很高的采样率、立体声和 24/32-bit PCM,但手机硬件未必支持。语音会议用 Mono 、 44.1 kHz 或 48 kHz 、 16-bit 已经够用,也能减轻网络与重采样压力。

桌面端带 RNNoise 、 SpeexDSP 降噪、自动增益、混响、变声等处理。 RNNoise 和 SpeexDSP 内部按 48 kHz 工作,其他采样率会发生额外重采样。人声断续或延迟上升时,按下面的顺序排查:

  1. 关闭所有滤镜和音效;
  2. 改成 Mono 、 48 kHz 、 16-bit;
  3. TCP 和 ADB 各测一次;
  4. 检查会议软件是否又开了一层降噪和自动增益;
  5. 换一根数据线或切到稳定的 5 GHz 局域网。

局域网传输没有加密

TCP 和 UDP 模式没有 TLS 、密码或密钥认证,连接握手只是固定字符串。声音会以明文 PCM 在局域网传输,同网段设备具备抓包和主动连接的可能。

因此,TCP/UDP 只放在自己的可信网络里使用:

  • 不把 54345 或自定义端口映射到公网;
  • 不在酒店、咖啡店等公共 Wi-Fi 上传敏感谈话;
  • 使用完就停止手机端录音和桌面端监听;
  • 对隐私要求较高时改用自己的 USB 数据线与 ADB 。

代码里没有发现项目把音频保存到文件或上传云端的逻辑,这不等同于独立安全审计。 Android 端仍会持续占用麦克风并显示前台服务通知,看到状态异常时直接停止服务。

AndroidMic 的价值很具体:电脑临时缺麦克风,手边又有一部安卓手机,它能把现有设备接进会议和录音软件。长期直播、播客或频繁会议仍值得买一支稳定的 USB 麦克风;临时救急和低成本测试,这套开源方案够灵活。

你更愿意用哪种连接:同一局域网的 TCP,还是插线后走 ADB?

来源:https://github.com/teamclouday/AndroidMic