news 2026/8/23 16:07:29

iPhone 投屏 Windows 找不到电脑?用 airplay2-win 免费跑一个 AirPlay 2 接收器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
iPhone 投屏 Windows 找不到电脑?用 airplay2-win 免费跑一个 AirPlay 2 接收器

iPhone 投屏 Windows 找不到电脑?用 airplay2-win 免费跑一个 AirPlay 2 接收器

【免费下载链接】airplay2-winAirplay2 for windows项目地址: https://gitcode.com/gh_mirrors/ai/airplay2-win

下午开会前,想用手机里的视频做演示,顺手打开控制中心,想把画面投到旁边那台 Windows 电脑上——设备列表翻了两遍,就是没有它。先别怪路由器:Windows 没有内置 AirPlay 接收端,苹果设备发来的投屏信号根本没人接。airplay2-win 补的就是这个缺:它在 Windows 上免费跑一个 AirPlay 2 服务器,iPhone 和 Mac 的画面、声音直接投进电脑窗口。

项目定位:给 Windows 配一个"会说 AirPlay 的门卫"

AirPlay 是苹果设备之间的"内部语言",Windows 天生听不懂。airplay2-win 的作用,可以理解成在你电脑门口安排了一位双语门卫:iPhone 敲门的时候,门卫先核身份(配对认证,底层由 RSA 密钥签名完成,还包含 FairPlay 校验流程),确认是自己人才开门;门一开,进来的视频流、音频流再被现场"翻译"成 Windows 认识的东西(画面走 H.264 解码,声音走 FDK-AAC 解码),最后送到屏幕和扬声器上。说白了,它就是把一整套 AirPlay 2 服务端实现搬到了 Windows 平台,认证、配对、解密的环节都保留得很完整,不是糊一个画面就完事。

项目骨架:每个目录各管一段

目录职责
airplay2/AirPlay 2 核心协议栈:配对、RSA 密钥、RAOP 音频流与镜像流接收解析,内含 FairPlay 验证、FDK-AAC 等加密解码库
dnssd/mDNS 设备发现服务,让电脑在局域网里"现身",手机才能搜到它
airplay-dll-demo/演示程序,用 SDL 把收到的画面渲染到窗口,验证和体验就靠它
airplay2dll/C++ DLL 封装,暴露服务的启动、停止、缩放接口,方便嵌进你自己的程序
external/随仓库提供的第三方库:SDL 1.2.15、ffmpeg、预编译 plist

一句话分清分工:想试效果看 demo,想做集成看 dll 封装,协议细节全压在 airplay2/ 里。

动手前准备:环境依赖一次列清

准备的东西很轻,清单如下:

  • Windows 10 或更新的系统
  • Visual Studio 2019(编译用,仓库按这个版本写的工程)
  • 手机和电脑连在同一个 Wi-Fi 下
  • 一台 iOS 或 macOS 设备,作为投屏的发起方

💡 新手最容易踩的坑写在 README 的常见问题里:如果你的 Windows 跑在虚拟机中,网络模式必须选"桥接",不能用"共享网络",否则手机永远搜不到这台电脑。另一个小提醒:首次生成整个解决方案要几分钟,构建窗口看起来卡住别慌。

从 clone 到上屏:airplay2-win 编译步骤

  1. 获取源码:
git clone https://gitcode.com/gh_mirrors/ai/airplay2-win cd airplay2-win
  1. 用 Visual Studio 2019 打开解决方案文件airplay2-win.sln
  2. 右键airplay-dll-demo项目,设为启动项目
  3. Ctrl + B生成,构建成功后 lib 和 dll 会输出到AirPlayServer目录
  4. 运行airplay-dll-demo.exe,终端会给出操作提示:
Usage: [s] to start server [q] to stop [-] and [=] to scale video size.
  1. s启动服务,回手机打开"控制中心 → 屏幕镜像",列表里会出现一个FgAirplay[你的电脑名]的条目,点它,手机画面就开始往电脑窗口里跑了 📺

连上之后,q停服务,-=缩放画面大小。到这里,iPhone 屏幕镜像到 Windows 的主链路就通了。

连不上、没画面:按现象自查

手机列表里完全看不到这台电脑

  • 确认手机和电脑在同一个 Wi-Fi、同一个网段
  • 虚拟机里跑的 Windows,检查是否切到了桥接网络
  • 暂时放行 Windows 防火墙对相关端口的拦截再试

能看到电脑,但一直连不上(项目 FAQ 里被问得最多的场景)

  • 重新核对同一 Wi-Fi、同一网段,必要时重启一下路由器
  • 在电脑上用q停掉服务、按s重新拉起再连

连上了,但画面或声音不对劲

  • 看程序打印的日志,确认画面接收卡在哪一步
  • 把干扰源挪开:暂停下载、直播这类占带宽的应用,尽量靠近路由器,或切到 5GHz 频段

airplay2-win 和收费投屏软件对比

对比项airplay2-win常见收费投屏软件
费用MIT 协议,开源免费,长期白嫖按年或按设备收费
源码可见性完整可读、可审计闭源黑盒
二次开发C API + DLL 封装,可嵌进自家应用基本没戏
上手门槛需要自己 clone、编译一遍装上即用

权衡很清楚:只求"装上就用",收费软件省事;想要一份长期免费、还能按自己想法改的 AirPlay 2 实现,开源这条路走得更远。

想改代码:核心 API 与配置点

C 层的服务生命周期就四个函数,定义在 airplay2/include/airplay.h:airplay_init(创建并注册回调)、airplay_start(启动)、airplay_stopairplay_destroy。业务事件靠回调注入——视频开始播放会触发video_play,音频数据则由audio_process一帧帧交给你的代码,接自己的播放器就从这两个回调入手。

更习惯面向对象写法的,直接看 airplay2dll/ 的封装,demo 里那行启动代码基本就是全部用法:

m_pServer = fgServerStart(serverName, 5001, 7001, m_pCallback);

🔧 几个值得动的配置点:服务名默认拼成FgAirplay[主机名],RAOP 端口 5001、AirPlay 端口 7001,都集中在 airplay-dll-demo/CAirServer.cpp 里,改名字、换端口就动这两处,一目了然。

接下来可以做的三件事

airplay2-win 给出的答案其实很简单:苹果设备投屏 Windows 这件事,能成,而且不用花钱。它不适合完全不想动手的人,但适合愿意花十分钟、换来长期稳定投屏方案的折腾党。现在就可以做的事:

  1. clone 源码,按上面的步骤用 VS2019 编译出airplay-dll-demo
  2. 运行 demo,按s把服务拉起来
  3. 打开手机的屏幕镜像,点一下那个FgAirplay[电脑名]

当手机画面第一次落在电脑窗口里的那一刻,你会觉得这十分钟花得不亏。

【免费下载链接】airplay2-winAirplay2 for windows项目地址: https://gitcode.com/gh_mirrors/ai/airplay2-win

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/23 16:05:55

管 50 台远程桌面不慌:RDCMan 实操指南

管 50 台远程桌面不慌:RDCMan 实操指南 【免费下载链接】RDCMan Remote Desktop Connection Manager (微软RDP远程桌面管理工具) reflect 汉化及本土化 项目地址: https://gitcode.com/gh_mirrors/rd/RDCMan 周五下午三点,你刚打完一轮补丁&#…

作者头像 李华
网站建设 2026/8/23 16:02:33

SMUDebugTool:免费开源的Ryzen调参实战指南

SMUDebugTool:免费开源的Ryzen调参实战指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitcode.com/…

作者头像 李华
网站建设 2026/8/23 15:59:29

MagicAnimate 人物动画:5步让静态照片动起来 + 调参避坑

MagicAnimate 人物动画:5步让静态照片动起来 调参避坑 【免费下载链接】magic-animate [CVPR 2024] Official repository for "MagicAnimate: Temporally Consistent Human Image Animation using Diffusion Model" 项目地址: https://gitcode.com/gh_…

作者头像 李华
网站建设 2026/8/23 15:55:47

压缩包密码忘了?免费帮你测试找回

压缩包密码忘了?免费帮你测试找回 【免费下载链接】ArchivePasswordTestTool 利用7zip测试压缩包的功能 对加密压缩包进行自动化测试密码 项目地址: https://gitcode.com/gh_mirrors/ar/ArchivePasswordTestTool 打开前同事转来的加密压缩包,密码…

作者头像 李华