Skip to content

Releases: Roylyl/WinPlay

WinPlay-1.2.2

Choose a tag to compare

@Roylyl Roylyl released this 05 Oct 19:20

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。

WinPlay-1.2.1

Choose a tag to compare

@Roylyl Roylyl released this 03 Oct 08:57

WinPlay1.2.1

WinPlay让Windows电脑成为无线CarPlay接收端,支持本机移动热点与现有局域网连接,提供独立画面窗口、音频播放和鼠标/触控板操作。

1.2.1修复统一发行标签后的更新识别问题,继续保留1.2.0的功能与音视频优化。

更新内容

  • 兼容统一的V1.2.1、v1.2.1标签,同时保留旧的WinPlay-1.2.1及纯数字版本标签支持。
  • 更新按主版本、次版本和修订版本逐项比较,不按发布时间判断;草稿和预发行版不参与正式更新。
  • 发行说明与安装包下载地址使用GitHub发行记录的实际标签,修复改名后无法识别安装附件的问题。
  • 缓存保留实际标签,应用重启后仍使用对应发行页和下载地址,兼容旧版更新缓存。
  • 保留安装包来源与名称检查,匹配Roylyl/WinPlay仓库下对应版本的x64EXE。
  • 程序、设置界面与向iPhone上报的配件版本统一更新为1.2.1。

自动检查默认开启,两次自动检查至少间隔24小时;手动检查不受该间隔限制。下载通过系统浏览器完成,安装由用户执行。

下载与升级

在GitHubReleases查看已发布版本与附件,下载WinPlay-1.2.1-Setup-x64.exe。

  • 适用于Windows10/11x64,电脑需具备蓝牙与Wi-Fi能力。
  • 单个离线EXE内置运行组件,无需另外安装Node.js或Electron。
  • 升级前退出旧版,运行新安装包;已有设置、导入认证文件和配对数据保留。
  • 当前安装包未做发行代码签名,Windows可能显示安全提示。

旧版1.2.0的更新模块只识别WinPlay-标签。若发行标签已经改为V格式,旧版可能无法自动发现本次更新,请从发行页手动下载安装1.2.1;安装后即可识别后续统一标签的正式版本。

首次安装默认1280×720、60fps。连接方式和认证前提见README,1.2.0功能介绍见1.2.0发行说明。

项目主页

  • WinPlay:Windows无线CarPlay接收端。
  • MacPlay:macOSCarPlay接收端,支持USB直连与共用Wi-Fi无线连接。
  • AndroidPlay:Android手机、平板与车机的无线CarPlay接收端。

问题反馈见Issues。项目遵循GPL-3.0-or-later并保留上游声明,见LICENSE与NOTICE。认证材料与商标分别适用各自权利条件,代码许可不代表获得认证材料的再分发授权。

WinPlay-1.2.0

Choose a tag to compare

@Roylyl Roylyl released this 02 Oct 19:12

WinPlay1.2.0

WinPlay让Windows电脑成为无线CarPlay接收端,显示iPhone的CarPlay画面、播放声音,并用鼠标或触控板操作。支持本机移动热点与现有局域网两种无线方式,适合Windows笔记本、平板和桌面显示器。

本次更新加入多语言与“关于”页,整理连接、显示和音频设置,完善无线连接、窗口操作与更新管理,并改进音视频流畅度。

更新内容

应用设置与管理

  • 主窗口调整为连接、显示、音频和关于四页,采用统一的分组卡片。语言、外观与关闭行为放在“连接→应用”,版本、更新、日志和认证文件集中到关于页。
  • 新增跟随系统、简体中文、繁體中文和English四种应用语言,切换立即生效,设置界面、托盘和确认框同步切换。浅色、深色与跟随系统主题只影响WinPlay,CarPlay的语言与外观由iPhone决定。
  • 支持检查GitHub正式发行版并打开对应的x64安装包下载入口。自动检查默认开启,每天最多检查一次;下载通过浏览器完成,安装由用户执行。
  • 完善任务栏与托盘操作。主窗口和CarPlay窗口正常最小化到任务栏,可选择关闭主窗口后留在托盘继续接收;关闭CarPlay窗口时先确认断开,完整会话结束后自动关闭画面窗口并恢复“启动接收”。
  • 支持打开和导出日志,保存与导出时过滤网络标识、个人路径、认证材料和配对密钥,方便反馈问题。

无线连接

  • 本机移动热点与现有局域网分别保存配置,按所选模式检测网络接口。热点模式识别Windows实际用于共享的接口,并等待链路和地址就绪。
  • 统一使用“读取当前网络和密码”:热点模式读取Windows移动热点设置,局域网模式读取当前Wi-Fi及对应的已保存密码。无法读取的字段显示具体原因并保留原输入,可继续手动填写。
  • 完善局域网设备发现与连接等待,连接前刷新当前网络参数,区分网络连接超时与视频等待超时,减少沿用旧SSID、密码或接口造成的连接问题。

显示与流畅度

  • 收到视频并完成首帧解码后再显示CarPlay窗口,等待连接时不弹出黑色画面窗口;停止后的旧视频数据不会重新打开窗口。
  • 统一分辨率预设、自定义像素与请求像素设置。普通画面窗口按所选显示器的物理像素固定尺寸,保持视频比例;超出屏幕可用范围时提示修改,不静默缩小。
  • 首次默认1280×720、60fps,帧率可选30/60/90/120fps。120fps启动失败后依次尝试90fps和60fps,实际输出取决于iPhone、网络与解码能力。
  • 视频接收使用有界队列与TCP背压,减少数据积压及参考帧损坏;已解码画面只绘制最新一帧,改善快速滑动时的延迟。硬件解码持续停滞时,在限定的恢复流程内尝试软件解码。

音频与媒体

  • 修正AAC丢包后的RTP时间戳映射,减少后续音频持续迟到和播放断续。保留真实音频缺口,不通过加速播放追赶,并隔离旧解码回调。
  • 保留媒体与通话音量分别调节、输入/输出设备选择,支持Windows系统媒体控件同步播放信息和封面,回传播放/暂停、切歌及播放器允许的进度跳转。
  • 歌词继续同步,封面独立去重并按需更新。歌词变化不会反复触发封面同步,新曲目的首张封面立即显示,同一首歌内连续变化的封面合并处理。

无线连接与音视频表现仍受设备、网络和输出设备影响,可在接收统计与音频运行统计中查看当前情况,遇到持续异常时导出日志反馈。

下载与安装

请在GitHubReleases查看已发布的版本及附件。WinPlay1.2.0使用以下安装包:

安装包 适用系统
WinPlay-1.2.0-Setup-x64.exe Windows10/11x64

单个离线EXE内置运行时与Windows平台桥接,无需另外安装Node.js或开发工具。运行安装包,按向导完成安装并打开WinPlay。更新时先退出旧版,再运行新版安装包;已有设置、导入认证文件和配对数据保留。当前安装包未做发行代码签名,Windows可能显示安全提示。

开始连接

电脑需具备蓝牙与Wi-Fi能力,iPhone需支持CarPlay并开启Wi-Fi与蓝牙。无线网络需允许两端互访,Windows防火墙需允许WinPlay通信;使用热点模式时,先在Windows设置中开启移动热点。

本地构建包内置构建者提供的配套认证文件,也可在关于页导入有权使用的材料;本机导入文件优先。普通Apple开发者签名证书不能替代CarPlay配件认证,公开分发前需确认内置材料的授权。

  1. 在Windows蓝牙设置中配对iPhone,回到WinPlay刷新列表并选择目标设备。
  2. 选择“本机移动热点”或“现有局域网”。使用局域网时,让电脑与iPhone加入同一Wi-Fi;点击“读取当前网络和密码”,无法读取的部分按实际网络配置手动填写。
  3. 在“关于→认证文件”确认配套文件已就绪。需要替换时,一次选中有权使用且匹配的identity.pk8与certificate.p7b导入,本机导入文件优先,最终认证由iPhone决定。
  4. 点击“启动接收”,在iPhone上允许CarPlay。修改连接、显示或音频设备设置后,点击“应用并重新连接”。

本版本仅提供无线接收,不支持USB直连。停止接收不会关闭Windows移动热点。

项目主页与其他平台

  • WinPlay:Windows无线CarPlay接收端;使用方法与问题反馈。
  • MacPlay:面向macOS14及以上,支持USB有线与共用Wi-Fi无线连接。
  • AndroidPlay:面向Android9及以上,适用于手机、平板和车机,通过系统热点与蓝牙无线连接。

许可

WinPlay沿用GPL-3.0-or-later,保留MacPlay、AndroidPlay及其上游来源声明,见LICENSE、NOTICE与第三方声明。认证材料、第三方组件与商标分别适用各自权利条件,程序许可不代表获得认证材料的再分发授权。

WinPlay-1.1.0

Choose a tag to compare

@Roylyl Roylyl released this 01 Oct 23:33

WinPlay1.1.0

让Windows电脑成为无线CarPlay接收端,用鼠标和触控板操作iPhone的CarPlay界面,在电脑上播放音频,并通过Windows系统媒体控件控制音乐。

WinPlay支持Windows10/11x64,采用独立CarPlay画面窗口与左侧导航设置界面。安装包内置运行组件,使用时无需另外安装Node.js或Electron。

项目仓库 · 使用说明

主要功能

  • 两种无线连接:使用Windows本机移动热点,或让电脑与iPhone加入同一局域网;两种模式分别保存网络配置并自动推荐网卡。
  • 独立画面窗口:首次使用默认1280×720、60fps,支持显示器选择、预设或自定义分辨率,以及屏幕原生像素全屏窗口化。
  • 物理像素显示:CarPlay窗口不可拖动调整大小,画面保持比例,Windows系统缩放不会放大请求的物理像素尺寸。
  • 多档帧率:30/60/90/120fps;120启动失败时依次尝试90和60,并区分请求帧率与实际视频帧率。
  • 鼠标与触控板:支持点击、拖动和上下/左右滚动。
  • 声音与设备:媒体音量、通话音量和播放开关实时生效,输入/输出设备可选,默认跟随系统。
  • Windows媒体控件:同步iPhone上报的标题、歌手、专辑、封面、播放状态和进度,支持播放、暂停、切歌及播放器允许的进度跳转;歌词式标题更新不会被当作切歌清除封面。
  • 系统托盘:最小化后保持连接,可从托盘恢复主窗口或CarPlay画面。关闭CarPlay窗口时询问是否断开,取消后继续连接;会话断开后自动关闭画面并恢复“启动接收”。

安装与连接

  1. 运行WinPlay-1.1.0-Setup-x64.exe,按安装向导完成安装。
  2. 在Windows蓝牙设置中配对iPhone,回到WinPlay的“连接”页刷新并选择设备。
  3. 选择无线模式。本机热点模式需先开启Windows移动热点并让iPhone加入;局域网模式需让两端加入同一Wi-Fi。
  4. 填写对应网络的SSID、共享密码和信道,确认网卡选择后点击“启动接收”,在iPhone上允许CarPlay连接。
  5. 更改网络、分辨率或音频设备后,点击“应用并重新连接”。音量和播放开关无需重连。

初次打开画面窗口时,视频建立前会显示黑色。连接过程中可在诊断页查看状态与日志。当前安装包未做发行代码签名,Windows可能显示安全提示。

使用要求

需要具备蓝牙与Wi-Fi能力的Windows电脑、支持CarPlay的iPhone,以及允许设备互访的无线网络。局域网需允许Bonjour多播;企业认证、网页登录和客户端隔离不适用于当前连接流程。

安装包使用构建者提供的配件认证文件,也可在诊断页导入匹配且获准使用的identity.pk8和certificate.p7b,本机导入文件优先。普通应用签名证书不能替代CarPlay配件认证,公开分发认证材料前需确认相应授权。

需要了解的限制

  • 本版只支持无线CarPlay,不提供USB有线连接。
  • 音乐采用48kHz立体声AAC,实际码率由iPhone决定;不提供PCM音乐模式或AAC目标码率选择。
  • 高帧率是请求上限,实际视频输出受iPhone、网络和解码能力影响。
  • 系统媒体信息与进度控制依赖iPhone上的播放器上报,直播通常没有可拖动的完整进度。
  • 主动停止接收不会关闭Windows移动热点。卸载保留本机配置、认证和配对数据,敏感数据使用WindowsDPAPI保护。

其他平台

如果你还想在其他设备上使用CarPlay,可以选择同系列项目:

项目 平台 简介
MacPlay macOS14及以上 支持USB直连和共用Wi-Fi无线连接,提供原生设置、多屏显示及系统媒体控件。
AndroidPlay Android9及以上 让Android手机、平板或车机成为无线CarPlay接收端,通过系统热点和蓝牙连接iPhone。

WinPlay参考AndroidPlay与MacPlay,保留LIVI、DiPlay及原作者的来源和许可声明,项目遵循GPL-3.0-or-later。源码与构建说明见WinPlay仓库。