ZeroMic 双端优化与部署(电脑端 EXE + 手机端 APK)
ZeroMic 是「把手机当电脑的无线麦克风」的开源工具(Hypixice Studio 开发,GPL-3.0 开源):电脑端跑一个 EXE,起内网 HTTPS 服务 + 虚拟声卡;手机端用浏览器打开它给出的地址,就能把手机当成电脑的麦克风。
本 skill 覆盖这条链路的两端优化与部署:
- 电脑端 EXE —— 版本选择与校验、过 Windows 三道拦截、处理杀软误报、装 VB-CABLE 虚拟声卡、把声音正确路由进目标软件
- 手机端 APK —— 把 ZeroMic 的手机端网页打包成可安装的安卓 App:自带录音权限、不熄屏、切后台保活、CSS 注入美化、错误页重试,并保证 APK 里的地址与电脑端对齐
> 产物是一个纯 WebView 壳,不含业务逻辑:页面内容仍由电脑端的 ZeroMic 提供,APK 只负责"带权限、能保活地打开它"。
> 同一套方法也适用于你自己的内网服务 + 自签证书 + 需要麦克风场景,见附录 A。
> 本 skill 与 ZeroMic 项目及 Hypixice Studio 无任何关联,也不包含该项目的任何源代码或二进制文件;只是把它作为一个"内网服务 + 自签证书 + 需麦克风权限"的真实对象来写部署与优化流程。以下内容依据该项目公开资料整理,准确信息以官方发布为准;涉及第三方组件的许可与使用者义务,见第七节 7.6。
一、双端总览
| 端 | 形态 | 你最终拿到什么 | 关键难点 |
|---|---|---|---|
| 电脑端 | ZeroMic EXE(Win / macOS / Linux) | 内网地址 https://<电脑IP>:<端口> + CABLE 虚拟声卡 |
三道系统拦截、杀软误报、驱动安装、声音路由 |
| 手机端 | 浏览器直接打开(零安装)或自建 APK | 手机麦克风音频回传到电脑 | 自签证书、麦克风权限、息屏与切后台断流 |
音频链路(自检时按这条线逐段查):
手机麦克风 ──(同一 Wi-Fi)──▶ 电脑端 ZeroMic ──▶ CABLE Input ──▶ 目标软件(其麦克风选 CABLE Output)
要不要打 APK? 手机浏览器直接打开地址就能用,不打 APK 也能跑通。打 APK 换来三件事:权限常驻(不用每次授权)、不熄屏与切后台不断流、桌面上有个正经图标。只想快速用起来,做完第二节和第三节即可。
二、电脑端 EXE:下载、安装与声音路由
2.1 下载与版本选择
只有电脑端需要下载,手机端不用装任何东西——浏览器打开电脑端显示的地址即可。
直链(推荐,不必再翻 Release 页)。 Release 资产一经发布即固定,下列地址长期有效,可直接交给用户或由 agent 直接下载:
| 平台 / 架构 | 文件名 | 直链 |
|---|---|---|
| Windows x64(绝大多数 PC) | ZeroMic-Release.0.0.4_beta-windows-x64.exe |
<https://github.com/Hypixice/ZeroMic/releases/download/0.0.4_beta/ZeroMic-Release.0.0.4_beta-windows-x64.exe> |
| Windows ARM64 | ZeroMic-Release.0.0.4_beta-windows-arm64.exe |
<https://github.com/Hypixice/ZeroMic/releases/download/0.0.4_beta/ZeroMic-Release.0.0.4_beta-windows-arm64.exe> |
| Windows x64(正式版) | ZeroMic-0.0.3_fix1-windows-x64.exe |
<https://github.com/Hypixice/ZeroMic/releases/download/0.0.3_fix1/ZeroMic-0.0.3_fix1-windows-x64.exe> |
| Windows ARM64(正式版) | ZeroMic-0.0.3_fix1-windows-arm64.exe |
<https://github.com/Hypixice/ZeroMic/releases/download/0.0.3_fix1/ZeroMic-0.0.3_fix1-windows-arm64.exe> |
| macOS(Apple 芯片) | ZeroMic-0.0.3_fix1-macos-arm64 |
<https://github.com/Hypixice/ZeroMic/releases/download/0.0.3_fix1/ZeroMic-0.0.3_fix1-macos-arm64> |
| macOS(Intel) | ZeroMic-0.0.3_fix1-macos-x64 |
<https://github.com/Hypixice/ZeroMic/releases/download/0.0.3_fix1/ZeroMic-0.0.3_fix1-macos-x64> |
| Linux x64 | ZeroMic-0.0.3_fix1-linux-x64 |
<https://github.com/Hypixice/ZeroMic/releases/download/0.0.3_fix1/ZeroMic-0.0.3_fix1-linux-x64> |
索引页:项目主页 <https://github.com/Hypixice/ZeroMic>|全部版本 <https://github.com/Hypixice/ZeroMic/releases>|自行编译见项目 README 的 Developer Guide(git clone + pip install -r requirements.txt -r requirements-windows.txt + build.bat)。
版本现状(2026-10-16 核对):最新是 Beta 0.0.4(预发布,2026-07-18,只有 Windows 包);最后一个正式发布版是 0.0.3_fix1(2026-05-04,含 Win / macOS / Linux)。两者差别:0.0.3 每次启动都要管理员权限(每次都弹 UAC);0.0.4 改成只在安装驱动时提权,并新增托盘图标、端口自动避让、语言切换。求稳就用 0.0.3_fix1,要托盘和端口自适应就用 0.0.4 beta。
校验值(2026-10-16 取自 GitHub API,签发时官方给出、可用于核对下载完整性):
| 文件 | 大小 | SHA256 |
|---|---|---|
ZeroMic-Release.0.0.4_beta-windows-x64.exe |
27.04 MB | b1a38c82e2372ba545cffa4ace355d4d81a7687fb04e4fea4c602c2bd9f9a4e6 |
ZeroMic-Release.0.0.4_beta-windows-arm64.exe |
27.04 MB | 23e450ea7243cca7e01d2721da2387bcfac8892d72a9768aed65faf2d11e055a |
ZeroMic-0.0.3_fix1-windows-x64.exe |
18.34 MB | 69ba3758557127578583b31945efee473272fc33a5b569860e29eb430b2a23ea |
ZeroMic-0.0.3_fix1-windows-arm64.exe |
18.34 MB | 82f24d0efb7627719613b8981cb488d60b986a0d34bf7de1597c56043208dbe1 |
ZeroMic-0.0.3_fix1-macos-arm64 |
15.95 MB | e50d300175e61ed2cec41e28376d1d3ea344a9111080f9f47fd2e9ca50aff6b5 |
ZeroMic-0.0.3_fix1-macos-x64 |
16.80 MB | f9094eec28dd7997b842e9c803cd2870282255fc15cdfcbf419b3621285ef8af |
ZeroMic-0.0.3_fix1-linux-x64 |
27.36 MB | b032d34c3b8a38804f70f441e71bb700d67681cc435462423ce29f63f5b2e029 |
要拿"当前最新"就别用上表的写死链接(版本会更新),改用 GitHub API 现取:
- 最新正式版:
GET https://api.github.com/repos/Hypixice/ZeroMic/releases/latest→ 读.tag_name与.assets[].browser_download_url - 最新含预发布的一条:
GET https://api.github.com/repos/Hypixice/ZeroMic/releases?per_page=1→ 取数组第 0 项 - 全部历史版本:
GET https://api.github.com/repos/Hypixice/ZeroMic/releases - 每个资产的
.digest字段即官方 SHA256,可直接用于校验;未认证调用限额每小时 60 次
> 从哪下载:国内网络直连 GitHub 可能不稳,失败就换网络或换时间重试。别从搜索引擎里随手点到的第三方下载站、聚合站或网盘转载包取 exe——未签名的 exe 来自陌生来源风险很高,只从上面列出的官方地址下载。
2.2 安装:三道 Windows 拦截
按顺序出现,逐个处理:
| 顺序 | 弹窗 | 处理 |
|---|---|---|
| 1 | "Windows 已保护你的电脑"(SmartScreen,蓝色) | 点【更多信息】→【仍要运行】。仅当 exe 来自下载/邮件(带网络来源标记)才弹;U 盘直拷一般不弹 |
| 2 | "你要允许此应用对你的设备进行更改吗"(UAC) | 点【是】。0.0.3 每次启动都问,0.0.4 只在装驱动时问 |
| 3 | "Windows Defender 防火墙已阻止此应用的某些功能" | 勾选【专用网络】再点【允许访问】。点了取消手机就连不上,得去"防火墙和网络保护 → 允许应用通过防火墙"手动放行 |
2.3 被杀软拦的处理
- 症状:exe 刚落地就被删,或运行时报"发现威胁"
- 处理:Windows 安全中心 → 病毒和威胁防护 → 管理设置 → 排除项 → 添加排除项 → 文件夹,选 ZeroMic 所在目录
- 原因:exe 未签名 + PyInstaller 单文件打包,本身就是误报高发形态。同一目录的排除项也覆盖后面提权装驱动的动作
2.4 虚拟声卡驱动
- 0.0.3:首次运行会联网下载驱动包再静默安装(需要管理员)。界面显示"正在配置虚拟声卡…"约 10–20 秒,完成后弹提示:Windows 可能已把默认播放设备切成了 CABLE Input 导致电脑没声音,照它说的点右下角喇叭把播放设备切回原来的扬声器
- 0.0.4 及以后:驱动随程序内置,不再联网
- 手动安装:下 <https://download.vb-audio.com/Download_CABLE/VBCABLE_Driver_Pack43.zip>(1,139,147 字节,SHA256
66fd0a4d9f4896ff41632b7e3d53892c085c4561f53e8ae8d0f0bc10eedd1cdd,2026-10-16 核对)→ 解压 → 右键VBCABLE_Setup_x64.exe以管理员身份运行 → Install Driver → 重启。产品页 <https://vb-audio.com/Cable/> - 装好后在"设备管理器 → 声音、视频和游戏控制器"里应能看到 CABLE Input / CABLE Output
- 要把驱动随自己的安装包一起分发时注意:VB-Audio 官方允许分发并允许内嵌静默安装,条件是终端用户能识别出它是 VB-Audio 的产品并有机会捐赠——界面上至少要写明来源
www.vb-cable.com、以及"VB-CABLE 是 donationware,欢迎支持"。面向企业等"用户既看不见也无法付费"的场景,需按量购买授权。VB-CABLE A+B、C+D 两款扩展版禁止捆绑分发。条款原文见 <https://vb-audio.com/Services/licensing.htm>,本文档的整理见第七节 7.6
2.5 声音怎么进到别的软件(关键一步)
- 电脑端页面的【输出设备】选 CABLE Input。若显示"系统默认扬声器",必须手动切换,否则声音是从电脑音箱出来,别的软件收不到
- 目标软件(游戏 / 会议 / 豆包输入法等)的麦克风输入设备选 CABLE Output
三、双端连接:手机连上电脑端网页
- 电脑与手机连同一个 Wi-Fi(不同网段不行,跨网段也不行)
- 电脑端程序窗口显示
https://<电脑IP>:<端口>,点旁边【复制】 - 手机浏览器打开这个地址(发到微信里点开最省事)
- 浏览器提示"连接不安全"是正常的(自签证书)→ 点【高级】→【继续前往】
- 手机上点麦克风按钮并授权
四、手机端 APK:把 ZeroMic 网页面打包成安卓 App
> 手机端也可以不打 APK——直接用浏览器打开第三节那个地址即可。以下是把它做成常驻 App 的完整工程流程。
4.1 开工前先定这 6 个参数
动手前必须问清或确认,缺一个就会返工:
| 参数 | 说明 | 落在哪 |
|---|---|---|
TARGET_URL |
要加载的完整地址,含协议与端口。自签 HTTPS 要写 https:// |
MainActivity.java 顶部常量 |
包名 applicationId / namespace |
反向域名,如 com.example.webapp。装到手机上后不能改,改了就是另一个应用 |
app/build.gradle |
| 应用显示名 | 桌面图标下面的字 | res/values/strings.xml 的 app_name |
| 是否需要录音 | 需要则保留 RECORD_AUDIO 全链路;不需要可删掉权限与 onPermissionRequest |
Manifest + MainActivity |
| 配色 | 注入 CSS 的主色,影响 body 渐变与按钮 | BEAUTY_JS 字符串 |
| 目标机型 | Android 版本决定前台服务类型、通知权限的写法。Android 13/14 差异最大 | Manifest + 运行时申请 |
包名、应用名、通知标题、wake lock tag、注入 CSS 全是每个目标应用都要改一遍的地方,见 references/project-scaffold.md 末尾的替换清单。
4.2 环境准备
需要 JDK 17(任意发行版)、Android SDK(platforms;android-34、build-tools;34.0.0、platform-tools)、Gradle 8.2。
装过 Android Studio 的话不必再单独装 Gradle——它自带 Gradle 与 SDK 管理器,直接用 IDE 打开工程构建即可(首次会自动拉取 Gradle 8.2),工具链也可在 IDE 的 SDK Manager 里装。下面这段是给纯命令行环境准备的。
export JAVA_HOME=/path/to/jdk-17
export ANDROID_HOME=/path/to/android-sdk
# 只装最小集合,并接受许可
sdkmanager "platforms;android-34" "build-tools;34.0.0" "platform-tools"
yes | sdkmanager --licenses
# 没有独立的 gradle 命令时,先生成 wrapper(有 Android Studio 的话直接用它的)
gradle wrapper --gradle-version 8.2
在项目根目录写 local.properties,指向 SDK:
sdk.dir=/path/to/android-sdk
构建:
./gradlew assembleDebug --no-daemon
4.3 项目骨架
references/project-scaffold.md 有每个文件的完整可编译内容,直接照抄改包名即可。目录结构:
zeromic-apk/
├── settings.gradle
├── build.gradle # 根,只声明 AGP 版本
├── gradle.properties # 必须有 android.useAndroidX=true
├── local.properties # sdk.dir,不入版本库
└── app/
├── build.gradle
└── src/main/
├── AndroidManifest.xml
├── java/com/example/webapp/
│ ├── MainActivity.java
│ └── KeepAliveService.java
└── res/
├── layout/activity_main.xml
├── values/strings.xml
├── raw/beauty.js
└── xml/network_security_config.xml
有两个文件最容易漏,漏了直接构建失败或装上闪退:
res/xml/network_security_config.xml—— Manifest 里android:networkSecurityConfig引用了它,文件不存在 AAPT 报资源找不到。- 纯
Activity+ 系统主题(@android:style/Theme.DeviceDefault.Light.NoActionBar)可以只依赖androidx.core,不必引 appcompat,省一层主题约束。若改用AppCompatActivity,主题必须换成Theme.AppCompat.*。
4.4 四块硬骨头
MainActivity
完整代码见 references/main-activity.md。要点:
- WebView 设置:JS、DOM 存储、文件访问、
setMediaPlaybackRequiresUserGesture(false)(否则音频要用户再点一次) - 自签证书放行(限定主机):
onReceivedSslError里只对ALLOWED_HOST(与TARGET_URL同主机)调handler.proceed(),其余一律handler.cancel()。不写无条件放行——那等于把整个 WebView 的 HTTPS 校验都关掉了,属于安全审核红线 - 录音权限三层:Manifest 声明 → 运行时
requestPermissions→WebChromeClient.onPermissionRequest自动授予网页getUserMedia - 不熄屏:
getWindow().addFlags(FLAG_KEEP_SCREEN_ON) - 错误页:加载失败显示重试按钮;重试按钮要指向
TARGET_URL,不能写location.reload() - UI 美化:
onPageFinished注入 CSS
踩过的坑 —— setWebViewClient 只能调一次。 后一次调用会整个替换掉前一个 client,先注册的证书放行和错误页就一起失效了。证书放行、错误页、CSS 注入必须写进同一个 WebViewClient 实例的三个重载里。
关于自签证书放行的边界。 本 skill 面向的是自己可控的内网服务:放行对象限定为 TARGET_URL 那一台主机,方案是主机白名单 + handler.cancel() 兜底。这既让内网页面能开,又不至于把校验完全关闭。要更严可以把白名单换成证书指纹固定(比对服务端证书的 SHA-256);随意扩大白名单、或写回无条件 handler.proceed(),都会把一个内部工具变成通用的中间人攻击面。
前台保活服务
代码与设计决策见 references/keepalive.md。要点:
- 不用
START_STICKY——用户杀进程后服务会复活,通知栏关不掉。用START_NOT_STICKY+onTaskRemoved()停 +onDestroy()释放锁 onPause()起服务、onResume()停服务:在 APP 里不显示通知,切后台才保活- 通知渠道
IMPORTANCE_MIN,通知尽量低调 - 持
PARTIAL_WAKE_LOCK+ WiFiLock(HIGH_PERF) - 加 30 秒空心跳,防系统判定服务无响应
targetSdk 34 必读:service 必须在 Manifest 里写 android:foregroundServiceType,且类型对应的权限要在 startForeground() 之前拿到,否则 Android 14 抛 MissingForegroundServiceTypeException 或 SecurityException,表现是点开 APP 就闪退。需要后台用麦克风就要 microphone 类型 + RECORD_AUDIO 已授予。
UI 美化(CSS 注入)
模板与红线见 references/ui-beautify.md。核心原则:只改视觉,不改布局。加 display:flex、aspect-ratio、伪元素盖在按钮上、用 MutationObserver 监听按钮,都会导致按钮变形或点击失效。
构建输出
./gradlew assembleDebug
cp app/build/outputs/apk/debug/app-debug.apk my-app-v1.0.apk
adb install -r my-app-v1.0.apk
debug 包自带调试签名,可以直接装。release 包要自己配 keystore。除非要上架,否则不必折腾 release。
4.5 打包时必须对上电脑端
- 把 A5 第 2 步的
https://<电脑IP>:<端口>原样填进MainActivity.TARGET_URL - IP 若是 DHCP 分配会变,变了 APK 就连不上。给电脑设静态 IP 或路由器里做 DHCP 保留
- 端口默认 5000。0.0.4 起被占用会自动往后找,而 APK 里的地址是写死的 → 打包前确认 5000 是空的,否则要在地址里填实际端口
- APK 内已由代码对该主机放行自签证书,手机上不会再出现"继续访问"那一步
五、排查
常见故障(装不上、闪退、白屏、麦克风没反应、切后台断流、连不上)见 references/troubleshooting.md,按现象查表。
六、能力边界与合规提示
生成的 APK 带几项在应用商店里属于敏感范畴的能力。用在自己可控的内网服务上没有毛病,但交付前要让使用者明确知道边界在哪:
| 能力 | 实现方式 | 边界 |
|---|---|---|
| 后台常驻 | microphone\|dataSync 前台服务 + PARTIAL_WAKE_LOCK + WiFiLock |
只为"页面切后台仍要收音"而存在,不做无正当理由的防杀 |
| 麦克风采集 | RECORD_AUDIO + onPermissionRequest 自动授予 |
自动授予只对 RESOURCE_AUDIO_CAPTURE 放行,摄像头等其它资源必须 deny() |
| 证书放行 | onReceivedSslError 主机白名单 |
只放行 ALLOWED_HOST 一台主机,不关闭整体校验 |
| 明文流量 | network_security_config.xml |
仅在服务端确实只能走 HTTP 时开启 |
不适用的场合:面向公众分发的应用、绕过第三方网站的安全校验、抓取非自有服务。产物若要提交 Google Play 等商店,上表几项都会撞上政策审核(前台服务类型需申报、后台麦克风有明确限制),需另行评估。
七、法律声明
> 本节是本 skill 的使用条款,与随附的 LICENSE.txt(MIT 协议)共同构成完整授权。复制、修改、分发或使用本 skill 前请阅读。
7.1 许可与传播
本 skill 以 MIT 协议发布,协议全文见随附的 LICENSE.txt 文件。要点:
| 你可以 | 条件 |
|---|---|
| 使用、复制、修改、合并本 skill | 无 |
| 发布、分发、再许可 | 保留原始版权声明与本许可声明 |
| 商业使用,或连同衍生产品销售 | 同上,且不得暗示作者为衍生产品背书 |
版权声明 Copyright (c) 2026 闫律 须随本 skill 的副本及其实质性部分一并保留。
7.2 合法用途与权利自证
本 skill 的用途是把你自己所有或已获合法授权的网页封装成 Android 应用。以下事项由使用者自行判断并承担全部责任:
- 网页权利归属。 封装他人网站不产生任何权利,也不构成任何形式的授权。目标网页的著作权、商标权、数据权益及该网站服务条款的约束,均由使用者自行处理。
- 不得用于绕过第三方站点的安全校验。 本 skill 的证书放行机制以主机白名单为界,服务对象是自有内网服务。把白名单指向他人站点,或改回无条件
handler.proceed(),属于对他人加密通信的中间人干预。 - 不得用于传播违法违规内容,或将其作为此类内容的封装与分发载体。
- 不得用于未经授权的数据采集与自动化访问。
7.3 敏感能力的使用边界
生成产物携带的后台常驻、麦克风采集、证书放行、明文流量四项敏感能力,其合规边界见第六节表格。第六节全部内容同时构成使用条款的一部分,不得脱离该节所设边界使用本 skill。
7.4 上架与备案义务
使用本 skill 生成的 APK 若面向公众分发或提交应用商店,下列义务由发布者自行完成,作者不参与办理,亦不承担任何连带责任:
- 取得提交商店所需的经营资质、隐私政策、权限用途说明与安全评估材料
- 依《移动互联网应用程序信息服务管理规定》等规定履行的应用备案义务
- 前台服务类型(
foregroundServiceType)的申报,以及后台使用麦克风等敏感权限的合规论证 - 所载内容的合法性审查与第三方权利清理
7.5 免责声明
- 本 skill 及其示例代码按"现状"提供,不附带任何明示或默示的担保,包括但不限于对适销性、特定用途适用性及不侵权的担保。
- 作者不对因使用或无法使用本 skill 而产生的任何直接、间接、附带、特殊或后果性损失承担责任,包括但不限于数据丢失、设备损坏、业务中断、收益损失,以及因所封装网页引发的任何争议。
- 使用者对其使用行为产生的全部后果自行负责。 本 skill 提供的是工程技术方法,不构成对任何具体用途合法性的意见,亦不构成法律意见。
- 作者保留随时修改本 skill 及其法律声明的权利;已取得的副本继续适用其取得时的许可条款。
7.6 第三方权利
本 skill 文档中提及的第三方产品、项目名称与商标(含正文中提到的 ZeroMic 及其仓库地址),归各自权利人所有,仅作说明性、指示性使用,不表示作者与上述权利人之间存在任何关联、赞助、合作或背书关系。本 skill 中关于 ZeroMic 的内容依据公开信息整理,如有出入以官方发布为准;权利人如认为该处引用不当,可依 7.7 联系处理。
本 skill 涉及的两个第三方组件,其许可模式与使用者义务如下(2026-10 核对其官方文档;条款可能变动,以官方最新发布为准):
| 组件 | 权利人 | 许可模式 | 使用者义务 |
|---|---|---|---|
| ZeroMic | Hypixice Studio | GPL-3.0 | 可自由使用、修改;修改后对外分发,须同样以 GPL-3.0 开源并提供完整源码。本 skill 不含该项目任何代码 |
| VB-CABLE 虚拟声卡 | VB-Audio Software | Donationware | 官方允许随应用分发、并允许内嵌进安装包静默安装,前提是终端用户能识别其为 VB-Audio 产品且有机会捐赠;分发时至少注明来源 www.vb-cable.com 并说明其为 donationware。面向企业等"用户既看不见也无法付费"的场景,须按量购买授权。VB-CABLE A+B、C+D 两款扩展版禁止捆绑分发 |
上述条款由使用者自行遵守,因违反第三方许可产生的任何责任由使用者承担。本 skill 自身不包含、也不分发上述软件,仅提供指向官方来源的链接。
7.7 侵权通知与处理
权利人认为本 skill 的文档、示例或代码侵害其合法权益的,可通过第 7.8 节的渠道提出通知,并一并提供:
- 权利人或其代理人的身份证明与联系方式;
- 涉嫌侵权内容的准确位置(文件与段落);
- 构成侵权的事实说明及初步证据;
- 通知内容真实、愿就通知不实承担相应法律责任的书面声明。
作者将在核实后及时删除、修改或以其他方式处理相关内容,并将处理结果回复通知人。
7.8 权利人与联系渠道
| 项 | 内容 |
|---|---|
| 权利人 | 闫律 |
| 联系渠道 | 抖音 / 微信视频号 / 微信公众号 / 小红书 —— 闫律多元视界 |
| 许可协议 | MIT,全文见 LICENSE.txt |
附录 A:换成你自己的内网服务
本 skill 以 ZeroMic 为例走通双端链路。若目标是你自己所有或已获合法授权的内网服务(局域网 IP + 自签 HTTPS + 需要麦克风),按下表逐项替换即可:
| 环节 | ZeroMic 的做法 | 你要换成 |
|---|---|---|
| 电脑端服务 | ZeroMic EXE(自带 HTTPS 与虚拟声卡) | 你自己的服务端,保持 HTTPS 与自签证书 |
| 目标地址 | https://<电脑IP>:5000 |
你服务的 https://<主机>:<端口> |
| 声音出口 | 电脑端选 CABLE Input;目标软件麦克风选 CABLE Output | 按你的目标软件选择输入设备 |
| 手机端 | 打一个 WebView 壳 APK | 同左,改 TARGET_URL、包名与应用名 |
工程细节(完整可编译骨架、MainActivity、保活服务、CSS 美化、排查)都在 references/ 里,与具体服务无关,可整段复用。
红线不变:只封装你自己所有或已获合法授权的页面;证书放行只白名单你自己的主机,不要扩大范围,更不要改成无条件放行。