我把 Windows 电脑变成 AirPlay 2 接收器:一次真实的折腾全记录 📅 发布时间:2026/8/20 13:06:07 👁 浏览次数: 我把 Windows 电脑变成 AirPlay 2 接收器一次真实的折腾全记录【免费下载链接】airplay2-winAirplay2 for windows项目地址: https://gitcode.com/gh_mirrors/ai/airplay2-win上个月我在会议室遇到一个尴尬场面客户的 iPhone 上躺着刚刚改好的产品原型投影仪连着的却是一台 Windows 电脑现场没有任何转接线。试过几个号称能投屏的软件要么弹广告要么只支持视频 App 不能镜像屏幕折腾了二十分钟最后只能举着手机让十个人围过来看。回家后我不死心在 GitCode 上顺着镜像仓库翻到一个叫airplay2-win的开源项目描述只有一句话Airplay2 for windows。抱着死马当活马医的心态试了一把没想到它不仅解决了我的会议难题还让我把家里的 Windows 主机变成了客厅的投屏中心。这篇就从头到尾讲讲我的真实经历包括那些让你少走弯路的坑。为什么我没选市面上的一键投屏软件在遇到 airplay2-win 之前我其实把主流方案都试过一遍各有各的难受方案价格折腾成本效果电视果类硬件100-300 元低插上就能用只支持视频 App不支持镜像商业投屏软件一年几百到上千中需注册授权延迟明显有设备数量限制虚拟机装 Mac OS免费极高驱动问题多不稳定卡顿严重airplay2-win免费开源低编译一次即可支持屏幕镜像延迟可接受关键差异在于市面方案大多只支持视频投送AirPlay 的 Video 部分而我们要的是屏幕镜像整块屏幕实时同步。airplay2-win 走的是完整的 AirPlay 2 协议栈从airplay2/目录下的核心代码raop.c、airplay.c、httpd.c这些就能看出来它把音频流RAOP、视频流、设备发现、安全认证全都实现了一遍而不是拿现成播放器糊弄事。换句话说它不是在播放视频而是在翻译苹果的协议。出发前先弄清楚这三件事第一你需要一台能跑 Visual Studio 的电脑。项目用.sln解决方案管理官方 README 明确写了用 Visual Studio 2019 编译所以这是硬性门槛。好在 VS 社区版免费装的时候勾上使用 C 的桌面开发工作负载就行。第二网络环境是成败关键。电脑和 iPhone/iPad 必须在同一个 Wi-Fi、同一个网段下。这个要求看起来废话但 README 的常见问题里专门列了这条——很多人包括我栽在这里。第三防火墙一定会弹窗。第一次运行程序时 Windows 防火墙会拦截必须选允许访问否则 iOS 设备能发现你的电脑但连不上。下面这句就是血泪教训能被发现 ≠ 能连接中间隔着的就是防火墙和网段这两个坑。上手实录从编译到投屏成功的 40 分钟我把完整过程按时间线记下来了每一步都能复现。第 0-10 分钟拿源码。git clone https://gitcode.com/gh_mirrors/ai/airplay2-win cd airplay2-win克隆下来后你会看到几个关键目录airplay2/是协议核心dnssd/是设备发现模块基于 mDNSResponder 移植external/里躺着 SDL 1.2.15 和 FFmpeg 的现成库——这意味着你不需要自己去找依赖官方都配好了 x86 和 x64 两份。第 10-20 分钟编译。用 Visual Studio 2019 打开airplay2-win.sln在解决方案资源管理器里右键airplay-dll-demo项目选设为启动项目然后Ctrl B。编译过程会自动处理依赖关系生成的 exe 和 dll 会放在输出目录。第 20-25 分钟第一次踩坑。我满怀期待地双击 exe控制台打印出提示[s] to start server, [q] to stop但 iPhone 的隔空播放列表里什么都搜不到。检查了一圈发现是电脑连着有线网、iPhone 连着 Wi-Fi——两个不同网络。把电脑切到和 iPhone 同一个 Wi-Fi 后设备名立刻出现了。第 25-30 分钟第二次踩坑。点连接转圈然后断开。这次是防火墙。到允许应用通过防火墙里把 exe 加上或者干脆允许专用网络访问问题解决。对了如果你在虚拟机里跑 Windows记得用桥接网络而不是 NAT这也是 README 里明确提示过的。第 30-40 分钟成功。iPhone 控制中心 → 屏幕镜像 → 点电脑名称画面刷的一下出现在 Windows 窗口里。我试着划动、切页、打开视频延迟大概在几百毫秒开会演示完全够用。期间控制台窗口里不断滚动Receive video data之类的日志——这个项目像一本摊开的教材每一步在干什么都摆在明面上对想学协议的人特别友好。几个普通教程不会讲的进阶玩法玩法一视频窗口缩放。你肯定没注意 demo 程序开头那句提示[-] and [] to scale video size。运行中按-缩小画面、按放大镜像画面的尺寸可以实时调整。对应到代码里就是CSDLPlayer的setVideoScale原理是改了渲染比例不用重启服务。玩法二音量跟着 iPhone 走。在 iPhone 上按音量键Windows 这边真的会同步响应。这个功能在airplay2/include/raop.h里有明确的回调声明audio_set_volume也就是说音量调节不是模拟的而是走完了 AirPlay 协议的完整链路。给家人演示这个功能时他们以为我在变魔术。玩法三音频单投是天然支持的。不用镜像屏幕直接隔空播放音乐到电脑走的是 RAOP 音频通道默认端口 5000画面不显示纯当蓝牙音箱用。家里的老音响接上电脑一台无线音箱就到手了。玩法四看日志学协议。把日志级别开到RAOP_LOG_DEBUG你会发现连接过程依次发生握手、认证、加密协商、音视频流建立……整套 AirPlay 2 的对话流程像剧本一样清晰。想深入理解的开发者顺着airplay2/lib/里的fairplay_playfair.c、pairing.c、raop_rtp.c一行行读下去比看任何协议文档都直观。这个项目还值不值得长期关注说实话airplay2-win 不是那种天天刷 commit 的热门仓库它更像一个认真完成的作品把开源界的 AirplayServer 和 mDNSResponder 两个项目迁移到 Windows 平台配套目录、示例、依赖库都整理得整整齐齐。对于普通用户它是免费的 AirPlay 2 接收方案对于开发者它是一份难得的协议实现范本——毕竟能完整跑通 AirPlay 2 的开源代码本来就没几份。整个工程还包含了airplay2dll/这个封装层把服务打包成了 dll还定义了Airplay2Def.h里的音视频帧结构这意味着你可以基于它二次开发出自己的投屏应用。项目用 MIT 协议开源你可以放心改、放心用。如果哪天它帮助到了你去给它点个 star或者把遇到的问题、改进的代码提上去就是最好的支持。高频疑问快答QiOS 设备找不到我的电脑A先确认两台设备在同一个 Wi-Fi 和网段虚拟机里跑的话用桥接网络最后检查防火墙是否放行了程序。按这个顺序排查九成能解决。Q连接上了但画面卡顿A尽量用 5GHz Wi-Fi避免和微波炉、蓝牙设备抢 2.4GHz 频段电脑端关掉后台占用高的程序画面可以按-缩小看是否变流畅。Q支持哪些 iOS 和 Windows 版本AiOS 9 以上的 iPhone/iPad 基本都能用Windows 7 及以上系统都支持建议用较新的系统版本。Q一定要装 Visual Studio 才能用吗A如果只是使用编译一次拿到 exe 就够了但如果想自己改代码VS 2019 是必须的这是项目的官方构建方式。写在最后把时间拉回那个会议室现在我可以提前五分钟打开电脑、点开程序客户一到就直接把手机画面投上去全程零转接线、零广告、零授权费。AirPlay 2 和 Windows 之间的壁垒被一个免费开源项目打通了——这大概就是开源最让人上头的时刻你以为需要花大价钱解决的问题其实早有人写好了答案只等你把它编译出来。如果你也想试试就从git clone https://gitcode.com/gh_mirrors/ai/airplay2-win开始吧。花上一个小时收获一个能投屏、能当无线音箱、还能当协议教材的 Windows 电脑这笔账怎么算都不亏。【免费下载链接】airplay2-winAirplay2 for windows项目地址: https://gitcode.com/gh_mirrors/ai/airplay2-win创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考