Repository navigation
WinPlay1.2.2
WinPlay让Windows电脑成为无线CarPlay接收端,支持本机移动热点与现有局域网连接,提供独立画面窗口、音频播放和鼠标/触控板操作。
本次更新重点完善连接状态与断线处理,新增可选的无线自动重连,修复CarPlay窗口首次显示的白边,并改进媒体同步、后台更新检查与诊断日志。
更新内容
连接状态与断线处理
- 修复CarPlay已有画面,主界面仍显示“已发送CarPlay参数,等待iPhone网络连接”的偶发现象。视频到达或恢复时同步更新主界面和侧栏,清除旧的等待说明。
- 网络iAP通道后续协商不再覆盖已连接状态,也不重新启动Wi-Fi交接计时。
- 修复Wi-Fi断开后主界面仍显示正在接收、CarPlay窗口停留在最后一帧的问题。会话建立后启用TCP保活和网络存活监控;确认手机心跳后,连续约15秒没有有效控制、媒体或心跳活动时结束旧会话并关闭画面窗口。
- 静态画面、暂停音乐或单独停止视频刷新不会直接被判为断线;未建立应用心跳的设备保留TCP保活检测。
- 断开后保留原因说明。未开启自动重连时恢复“启动接收”,开启后进入等待回连状态。
- 修复读取网络参数期间停止接收,旧启动流程仍可能继续创建进程的问题;快速重新连接会等待旧进程释放端口。
- 为高帧率回退后的最终60fps尝试设置45秒视频等待期限,避免无限等待。
- 完善会话校验与资源释放,修复旧连接关闭影响新连接、断链后重传残留及事件通道未释放的问题。
无线自动重连
- 新增“无线连接被动断开时自动重连”开关,位于连接页的无线网络设置中,默认关闭。
- 开启后,仅在已有CarPlay连接被动断开时回连上次成功连接的iPhone,继续使用上次应用的连接配置。首次启动未成功建立连接时,不自动进入回连循环。
- 首次等待5秒,失败后依次等待10、20、30、60秒,之后保持60秒间隔。间隔从上一次尝试结束后计算,每次只执行一个连接尝试,并重新检查网络接口和蓝牙设备。
- 被动断开时关闭旧CarPlay窗口,重新收到视频后再显示画面,并重置重试间隔。
- 主动停止接收、确认断开、退出程序或关闭自动重连开关,会取消后续回连。
CarPlay窗口显示
- 修复窗口首次打开时左右和底部出现白边、拖动后才消失的问题。首次显示前同步原生窗口尺寸与Electron边框布局,无需手动移动窗口。
- 保留系统标题栏、固定画面尺寸和准确的物理像素显示,窗口不能通过拖动边框调整大小。
- 保留正常最小化到Windows任务栏的行为,全屏时按Esc最小化,恢复后保持画面尺寸。
以太网局域网连接引导
- 现有局域网模式使用以太网接口时,启动接收后提示用户在iPhone的“设置→Wi-Fi”中手动加入指定网络。
- 手机已经加入该Wi-Fi时,保持连接并等待画面即可,无需反复点击启动接收。
- 引导在收到视频、停止接收或开始新连接尝试时自动清除,支持简体中文、繁体中文和英文。
- 读取新网络但无法读取密码时,清除旧网络密码;同一网络读取失败时保留已有密码。
电脑通过以太网、iPhone通过Wi-Fi连接时,两端必须处于可互访的局域网,并完成蓝牙配对。电脑仅使用以太网时,需要手动填写路由器Wi-Fi的SSID、密码与实际信道;手动入网引导不会省略CarPlay交接参数。访客网络、客户端隔离和防火墙可能阻止连接。
音频与Windows媒体同步
- 修复切歌时继承上一首播放进度,以及Windows媒体控件残留上一首时间轴的问题。
- 合并高频歌词与进度更新,保留歌词同步和按需封面更新,改善系统媒体桥接的消息积压处理。
- 系统媒体桥接异常退出后最多自动恢复3次;辅助媒体错误不再覆盖CarPlay连接状态。
- 停止接收时取消尚未获得授权的麦克风请求,隔离重连前后的编码回调,并在编码出错时释放麦克风。
自动更新检查
- 自动检查默认开启,每次启动WinPlay后检查一次,不因之前刚检查过而跳过。
- 软件持续运行时,每隔两小时在后台检查,包括最小化到任务栏或托盘时。
- 后台定时检查不弹出对话框,结果显示在“关于→软件更新”。启动时发现新版本按已有规则提示,同一版本不反复提醒。
- 关闭自动检查后,启动和定时检查均停止;手动检查可随时执行。
- 并发检查合并为一个请求,网络请求保留15秒超时。
更详细的诊断日志
- 每次启动接收记录独立的连接尝试编号和阶段耗时,方便区分多次重试。
- 增加接口类型、地址族、信道、请求分辨率与帧率等连接参数摘要。
- 记录蓝牙枚举、首批数据、收发字节数、桥接退出,以及iAP协商所在通道;保留蓝牙收发错误码。
- 记录网络控制连接、会话建立与结束、套接字错误,以及视频配置、首帧和恢复过程。
- 增加心跳确认和超时记录,包含各通道的静默时长。
- 增加音频格式、UDP端口、首包解密和定期接收统计,包含包数、字节数、解密失败数、转发包数及距上次收包的时间。
- 日志保留量由150条增加到1000条,并限制前端日志数量;合并写盘,不逐帧、逐包写日志。
- 诊断事件同步保存到日志文件,继续隐藏密码、密钥、设备地址及原始音视频内容。
- 完善蓝牙10060超时与局域网交接失败的排查提示。
其他稳定性改进
- 显示器状态异常不再阻止音量等无关设置保存,写盘失败时不应用半完成配置。
- Electron更新至42.11.10,并更新受影响的构建依赖。
- 完成源码回归、离线应用自测、断网模拟和窗口专项检查;通过实际桌面窗口截图检查首次显示的边框效果。
安装与升级
安装包文件名为WinPlay-1.2.2-Setup-x64.exe,适用于Windows10/11x64,单个离线EXE内置运行组件。发布后可在GitHubReleases下载。
升级前退出旧版,再运行新版安装包。已有设置、导入认证文件和配对数据保留。首次安装默认1280×720、60fps;接收端仍仅支持无线CarPlay。
1.2.1及之后的版本支持统一的V版本标签。若仍使用1.2.0且无法发现更新,请从发行页手动下载安装。
本次更新没有改变音频编码或码率。离线验证不代表所有网络环境下的连接与长期音视频稳定性均已验证。遇到异常,请复现后从“关于”页导出诊断JSON,并在Issues说明连接模式、网络拓扑和具体表现。
项目与许可
- WinPlay:Windows无线CarPlay接收端。
- MacPlay:macOSCarPlay接收端,支持USB直连与共用Wi-Fi无线连接。
- AndroidPlay:Android手机、平板与车机的无线CarPlay接收端。
项目遵循GPL-3.0-or-later并保留上游声明。认证材料与商标分别适用各自权利条件,代码许可不代表获得认证材料的再分发授权。使用前提见README,许可与来源见LICENSE和NOTICE。