GoForum🌐 V2EX

[分享] ToMic - 把你的手机变成电脑的高质量麦克风 (Win/Mac, 0 App 安装, 低延迟)

nocmt · 2026-01-28 21:12 · 0 次点赞 · 1 条回复

👋 背景与痛点

最近语音输入软件出了好几款,可惜我的电脑没有麦克风,被逼无奈,Vibe Coding 一个用手机浏览器采集音频,通过局域网传给电脑作为麦克风的网页程序。


🎙️ ToMic 是什么?

ToMic 是一个基于 Web 技术的局域网虚拟麦克风工具。 它允许你使用手机浏览器作为电脑的麦克风输入源,通过 Wi-Fi 传输音频,并利用虚拟声卡( BlackHole 或 VB-CABLE )将其注入到系统音频输入中。

核心特性:

  • 0 App 安装:手机端无需下载任何 APP ,扫码/输入 IP 即开即用( Chrome/Safari )。
  • 跨平台支持:完美支持 macOSWindows
  • 低延迟传输:基于 WebSocket + Opus 编码,配合 FFmpeg/SoX 管道处理,延迟极低。
  • 原生级体验
    • macOS: 内置 Swift 监听器,自动管理状态。
    • Windows: 通过注册表监听麦克风占用状态,当你打开 Zoom/Teams 时,手机端自动开始传输,挂断即停(无需手动开关)。
  • HTTPS 安全:局域网自动生成自签名 SSL 证书,解决浏览器录音权限问题。

🛠️ 技术原理 (The Geeky Part)

ToMic 的工作流非常直接,就像一条 Unix 管道:

  1. 采集 (Phone): 手机浏览器调用 MediaRecorder API ,采集 audio/webm;codecs=opus 音频流(支持回声消除/降噪)。
  2. 传输 (Network): 通过 Socket.io 将 Blob 数据块实时发送到电脑端的 Node.js 服务。
  3. 处理 (PC): Node.js 收到数据后,通过 Stream Pipe 喂给 FFmpeg 解码,再管道传输给 SoX
  4. 注入 (Driver): SoX 将 PCM 音频流实时写入到虚拟声卡设备( macOS 下是 BlackHole ,Win 下是 VB-CABLE )。
  5. 应用 (App): Zoom / Discord / Teams 等软件选择虚拟声卡作为输入源,听到声音。

特别是在 Windows 上,为了实现“无感体验”,我写了一个 Python 脚本轮询注册表 CapabilityAccessManager\ConsentStore\microphone,以此来判断是否有应用正在使用麦克风,从而反向控制手机端的推流状态。

🚀 快速开始

下载程序:https://github.com/nocmt/toMic/releases

2. 准备虚拟声卡

  • macOS: 压缩包内置了 BlackHole 安装包,运行即提示安装。
  • Windows: 压缩包内置了 VB-CABLE 安装包,运行即提示安装。

3. 启动

./toMic

启动后终端会显示一个 HTTPS 地址(如 https://192.168.1.5:23336)。

4. 连接

手机连接同一 Wi-Fi ,浏览器访问该地址( https 哈),点击“授权”即可。 (由于是自签名证书,浏览器会提示不安全,点击“高级 -> 继续访问”即可)


🔗 项目地址

GitHub: https://github.com/nocmt/tomic

目前只是初期版本,欢迎大家试用、Star 或提 PR !如果有任何问题,也可以在这里反馈。

1 条回复
xing7673 · 2026-01-28 21:37
#1

有意思

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: nocmt
发布: 2026-01-28
点赞: 0
回复: 0