V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
limhiaoing
V2EX  ›  分享创造

Vibe Coding 了一个 Windows 上的 AirPlay 镜像投屏接收器并上架微软商店[送兑换码]

  •  2
     
  •   limhiaoing ·
    lxrite · 1 天前 · 1317 次点击

    背景

    早年我在 Windows Phone (后来叫 Windows Mobile )系统应用贫瘠的时候在空闲时间为这个平台手搓过几个直播平台的非官方应用,当时这个系统基本上就是官方不开发的应用我们就自己开发。

    wp_apps

    后来 Windows Mobile 没了,我的本职工作是 iOS 开发。在这之后很长一段时间都没有搞过 Windows 平台的应用开发。

    我在工作之外 Windows 用得比较多,其实也一直有在业余时间开发一些 Windows 桌面应用的想法。奈何实在太懒了一直没有付诸行动。

    直到 Vibe Coding 出现了,完美解决了我既想开发应用又不想自己写代码的问题。从去年下半年开始,我在工作上基本做到代码 100% 由 AI 生成了。于是在今年 1 月底就开始尝试在工作之外用 AI 从零开始 100% Vibe Coding 完整的开发一款 Windows 应用并上架微软商店。

    我开发的这款应用叫《轻投屏》,是一款用于接收 iPhone 、iPad 等设备 Air Play 镜像投屏或音乐投屏的应用。

    技术栈

    组件 技术 用途
    UI 层 C# + WinUI 3 用户界面
    核心层 C++/WinRT AirPlay 协议、视频和音频播放
    互操作 CsWinRT C# 调用 C++ 组件的桥梁

    应用运行在 AppContainer 中的,遵循最小权限原则,只使用了必要的网络权限,不会访问文件系统等。

    UI 层

    在这之前我几乎完全不了解 WinUI3 ,但是使用 Vibe Coding 我完全不需要去了解它,只需要看下 AI 生成的代码跑起来 UI 和交互是否符合我的预期就行。使用 Vibe Coding 还可以很轻松的实现多语言和主题切换。

    核心层

    C++ 层要做的事情比较多

    • AirPlay 协议与网络
      • MDNS 服务发现
      • RTSP 会话管理
      • RTP 数据接收
      • 音视频解密
    • 视频解码( H.264 、HEVC 、硬件加速)
    • 音频解码( ALAC 、AAC-ELD )
    • Direct3D 视频渲染
      • 屏幕旋转
      • 亮度调节
    • AudioGraph 音频输出
      • 音量调节
    • 音视频同步
      • NTP 时钟同步

    C++ 部分由于涉及多线程,我让 AI 使用 C++20 的协程来简化异步和多线程的逻辑。

    严格来说 C++ 部分我没有完全 Vibe Coding (即只看结果不看代码),因为 AI 会在各种地方给我留坑或者偷懒,所以我还是会让 AI 给我解释主要代码,然后我再让 AI 调整。尽管如此,这个应用的代码还是 100% AI 生成的。

    应用截图

    home game settings

    应用商店链接&兑换码

    应用商店链接

    最后送 15 个兑换码,有需要的自取,希望可以给个 5 星好评。已使用的兑换码辛苦在下方回复一下,方便其他人找到可用的兑换码,感谢!

    HR7GY-PGWYT-X2J6R-DKWJT-R7KTZ

    VHTTX-RJ337-FMCQH-742HJ-HCHYZ

    XHYPM-3JDXQ-DTQ66-C97WP-739GZ

    M9MQR-YJPGX-9GM94-MV9GY-KGRYZ

    HXKVR-RDMDP-224XV-PJPTG-HHDGZ

    KXMWC-2FGJJ-MPFKY-G3MHJ-M72RZ

    6QWQV-3C3WC-FGDCC-DRR4R-YTGGZ

    PVR6P-T2YRJ-2QWXG-RG9HJ-FF2HZ

    GG6J7-W6PHY-D7K4K-66R7H-PYXMZ

    VFCDP-VYXGG-QJRTP-MM462-Y6Q3Z

    3YKQ7-J629X-FH722-PX2KY-RCYDZ

    WMCMV-CWGP4-QVTQ3-623KF-9D2GZ

    WV37V-63QQG-GCHTX-HF3MJ-9V6RZ

    9H6K9-FTCY4-R69CM-MYTY2-3XRYZ

    MHXPD-WYF3F-VHGWK-PJD3C-H4R4Z

    第 1 条附言  ·  21 小时 20 分钟前

    再加送 15 个兑换码,辛苦使用过的兑换码在下方回复一下,方便其他人找到未使用的兑换码(因为微软应用商店短时间内尝试多个无效兑换码可能会触发限频),感谢!

    9YKTX-M29J6-CQ467-YFYJ7-GKHVZ

    XXKT2-4VJ6J-23DRX-F2H4D-RKHDZ

    VXVDT-JT3VW-3GJ6Y-WKY2D-2JH9Z

    JFCKT-PPWKC-VJ9GG-RK33M-XDXTZ

    VW7GW-7DWXY-RRT2R-PDQD9-GTQYZ

    QFHX4-7G2TH-GHKJQ-33WF4-7VFQZ

    77JX6-VFGH4-9299R-C2DRF-CVGPZ

    67KHC-VM49Y-2V469-RGJXV-4YJ4Z

    JGKG2-CJWYG-CJFJK-2XVX2-QGC3Z

    Q6C3F-TYFH4-J729P-9VRC7-433PZ

    D33JG-PJJ26-7JGJ7-3FX3G-VVJ6Z

    Y793X-C6Y4F-DJCM7-JRG7W-V229Z

    FFWPD-6RFMJ-DD7QV-WR969-CT6PZ

    PGTMF-FXHF9-2CXVD-P6HDM-F4WXZ

    Y4F3D-D6CTC-MCVJX-JFX3P-W3HDZ

    第 2 条附言  ·  15 小时 20 分钟前
    最后再送 15 个兑换码,祝大家周末快乐,春节快乐!

    6JDHX-HMCD6-749YR-P7YJP-JPY7Z

    G366K-DFK6D-GCTQ4-4KPGM-CFDKZ

    3DGW9-HKFDQ-XRFYG-HDDJW-3F9VZ

    CQVDY-KFP2Q-Q99FF-2F7FF-PQ2QZ

    HC7KV-C79J9-F2F93-46JXV-MPD7Z

    9G492-TW2RM-QRGFY-F7WWW-VG6VZ

    79FJQ-43RYF-GPVXD-G2RXF-FMMTZ

    VFYJ7-22HC9-PHD9P-T6JQ4-XMXQZ

    DFPCJ-6KF92-2HHD2-3GRYR-HVGVZ

    T6H4F-97M2H-37RK9-XPG4X-DY7QZ

    JY3QK-DTG7K-DCG9T-24W4V-D4TMZ

    MJV9P-2M4P2-YJY6C-763F7-W3R9Z

    6TQ32-Q923R-WVPXG-72MHV-R6FWZ

    TWF6T-RWR6F-4GRPW-6DWJ7-DTDQZ

    V6YDD-CGK9W-2P7RW-QDJVC-749GZ
    51 条回复    2026-02-07 01:21:11 +08:00
    lockheart
        1
    lockheart  
       1 天前
    HR7GY-PGWYT-X2J6R-DKWJT-R7KTZ 已用,感谢
    Mountain
        2
    Mountain  
       1 天前
    XHYPM-3JDXQ-DTQ66-C97WP-739GZ 已用
    非常好用,感谢
    dawnvivid
        3
    dawnvivid  
       1 天前
    3YKQ7-J629X-FH722-PX2KY-RCYDZ 已用,感谢
    emric
        4
    emric  
       1 天前
    9H6K9-FTCY4-R69CM-MYTY2-3XRYZ 已用
    MHXPD-WYF3F-VHGWK-PJD3C-H4R4Z 测试已经被人已用
    wuzhewuyou
        5
    wuzhewuyou  
       1 天前 via Android
    可惜,我都是精简版 win10 ,薅不了羊毛了
    HoshinoRei
        6
    HoshinoRei  
       1 天前
    M9MQR-YJPGX-9GM94-MV9GY-KGRYZ 已用,感谢。
    littleghost
        7
    littleghost  
       1 天前
    WV37V-63QQG-GCHTX-HF3MJ-9V6RZ 已用,非常感谢
    yyfearth
        8
    yyfearth  
       1 天前
    WMCMV-CWGP4-QVTQ3-623KF-9D2GZ 已用
    发现 WV37V-63QQG-GCHTX-HF3MJ-9V6RZ 和 9H6K9-FTCY4-R69CM-MYTY2-3XRYZ 被人用了
    logr
        9
    logr  
       1 天前
    错过了,全部被用
    followadc
        10
    followadc  
       1 天前 via iPhone
    大佬给我一个打好评的机会

    NjQ2ODM2NDE1QHFxLmNvbQ==
    94
        11
    94  
       1 天前
    之前也有过这个想法,但是不太属于强烈的需求。
    先点个赞,等后天回家之后试试看。
    lajfush
        12
    lajfush  
       22 小时 33 分钟前
    不知道什么原因应用商店实在没找到
    Nasei
        13
    Nasei  
       22 小时 20 分钟前
    下了试用版,但是 mac 连不上 surface
    momo1999
        14
    momo1999  
       22 小时 20 分钟前
    我一直在用这个 PigeonCast ,除了接收还能发送。
    https://apps.microsoft.com/detail/9p8fwckn5s3p?hl=en-US&gl=US
    limhiaoing
        15
    limhiaoing  
    OP
       22 小时 17 分钟前 via iPhone
    @logr 中午 1 点左右会再发 15 个

    @followadc 已发

    @lajfush 通过上面的应用商店链接也看不到吗?关键字可能不太好搜到。
    limhiaoing
        16
    limhiaoing  
    OP
       22 小时 15 分钟前 via iPhone
    @Nasei 我只测试了 iPhone 和 iPad 。mac 是能看到设备但是链接不成功吗?
    Nasei
        17
    Nasei  
       22 小时 14 分钟前
    @limhiaoing 对的能看到连不上
    limhiaoing
        18
    limhiaoing  
    OP
       22 小时 12 分钟前 via iPhone
    @Nasei 感谢反馈,我后面有时间测试下 mac 。
    junlong
        19
    junlong  
       21 小时 42 分钟前
    应该是所有码都被用了。希望大佬给个好评机会。谢谢~
    emp3eXpqbEAxNjMuY29t
    Ccf
        20
    Ccf  
       21 小时 35 分钟前
    可否求个码测试一下。ZnlpMTUxQGdtYWlsLmNvbQ==
    limhiaoing
        21
    limhiaoing  
    OP
       21 小时 20 分钟前
    @junlong
    @Ccf 刚在文章下方追加了 15 个兑换码,可以再试试哈。
    junlong
        22
    junlong  
       20 小时 57 分钟前
    Q6C3F-TYFH4-J729P-9VRC7-433PZ 已使用,感谢。和楼上的 PigeonCast 对比起来,没有 PigeonCast 流畅,而且在相册图片滑动过程中有异常抖动。
    datiewang
        23
    datiewang  
       20 小时 50 分钟前
    Y793X-C6Y4F-DJCM7-JRG7W-V229Z 已用,谢谢 OP 晚上回家试一下。
    logr
        24
    logr  
       20 小时 47 分钟前
    D33JG-PJJ26-7JGJ7-3FX3G-VVJ6Z 已用 感谢
    duchenpaul
        25
    duchenpaul  
       20 小时 43 分钟前
    VW7GW-7DWXY-RRT2R-PDQD9-GTQYZ

    已用
    Quasar
        26
    Quasar  
       20 小时 39 分钟前
    77JX6-VFGH4-9299R-C2DRF-CVGPZ

    已用 感谢,之前试过一些三方的,体验不太好,试试看这个
    limhiaoing
        27
    limhiaoing  
    OP
       20 小时 31 分钟前 via iPhone
    @junlong 感谢反馈,可以试下设置里开 60 帧呢?
    vxuzr
        28
    vxuzr  
       20 小时 30 分钟前
    9YKTX-M29J6-CQ467-YFYJ7-GKHVZ

    已用,谢谢
    pgf00a
        29
    pgf00a  
       20 小时 24 分钟前
    FFWPD-6RFMJ-DD7QV-WR969-CT6PZ 已用
    iwolfor
        30
    iwolfor  
       20 小时 13 分钟前
    可惜没有了
    limhiaoing
        31
    limhiaoing  
    OP
       20 小时 7 分钟前 via iPhone
    @iwolfor 晚上 7 点左右会再最后加一批兑换码(我这会在上班不太好操作)。
    iwolfor
        32
    iwolfor  
       19 小时 54 分钟前
    @limhiaoing #31
    感谢回复,不知到时能否找到,想直接白嫖 ;)
    BuriedHeart
        33
    BuriedHeart  
       19 小时 14 分钟前
    67KHC-VM49Y-2V469-RGJXV-4YJ4Z 已兑换
    BuriedHeart
        34
    BuriedHeart  
       18 小时 53 分钟前
    Win11 安装,无法打开,没有报错提示
    zeyexe
        35
    zeyexe  
       18 小时 45 分钟前
    XXKT2-4VJ6J-23DRX-F2H4D-RKHDZ 已使用
    limhiaoing
        36
    limhiaoing  
    OP
       18 小时 0 分钟前 via iPhone
    @BuriedHeart 从表现来看应该是启动的时候就发生异常了。 可以看下 事件查看器 -> Windows 日志 -> 应用程序 中是否有什么错误信息。 如果没有就不太好定位原因了,商店应用都是商店负责安装依赖的,可以试下卸载重装看看。
    BuriedHeart
        37
    BuriedHeart  
       16 小时 43 分钟前
    @limhiaoing #36 错误信息
    出错应用程序名称:LightAirPlayReceiver.exe ,版本:1.0.0.0 ,时间戳:0x69340000
    出错模块名称:coreclr.dll , 版本:8.0.2325.60607 ,时间戳:0x6934ad9c
    异常代码:0xc0000005
    错误偏移:0x00000000001d4560
    出错进程 ID:0x6C68
    出错应用程序开始时间:0x1DC97434FBDC71B
    Faulting 应用程序路径:C:\Program Files\WindowsApps\2906LightLin.19621F73B72B5_1.2.29.0_x64__pxs4z2bpz6hfj\LightAirPlayReceiver.exe
    Faulting 模块路径:C:\Program Files\WindowsApps\2906LightLin.19621F73B72B5_1.2.29.0_x64__pxs4z2bpz6hfj\coreclr.dll
    Report ID:09d9fe08-1327-4ff1-87d0-f32c4f70ab27
    Faulting 包全名:2906LightLin.19621F73B72B5_1.2.29.0_x64__pxs4z2bpz6hfj
    Faulting 程序包相对应用程序 ID:App 个

    Application: LightAirPlayReceiver.exe
    CoreCLR Version: 8.0.2325.60607
    .NET Version: 8.0.23
    Description: The process was terminated due to an unhandled exception.
    Exception Info: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
    limhiaoing
        38
    limhiaoing  
    OP
       15 小时 17 分钟前 via iPhone
    @BuriedHeart 感谢反馈,我分析下这个问题。另外再跟你确认一下,是还没有看到 UI 就异常退出了吗?
    CooDev
        39
    CooDev  
       15 小时 10 分钟前 via iPhone
    3DGW9-HKFDQ-XRFYG-HDDJW-3F9VZ
    已用 感谢!
    iwolfor
        40
    iwolfor  
       14 小时 58 分钟前
    还是来晚了“选取其他付款方式。此代码不是来自礼品卡。”
    yinanc
        41
    yinanc  
       14 小时 56 分钟前
    想问下这个是只能投屏吗,可以在电脑上操作手机吗
    geniusy
        42
    geniusy  
       14 小时 55 分钟前
    DFPCJ-6KF92-2HHD2-3GRYR-HVGVZ
    已用,谢谢
    geniusy
        43
    geniusy  
       14 小时 54 分钟前
    貌似类似 App 已经有很多了,但反向功能却找不到 tuneblade 的替代品,为啥没人开发一个呢?
    limhiaoing
        44
    limhiaoing  
    OP
       14 小时 53 分钟前
    @yinanc 目前是只能投屏,不能操作。
    limhiaoing
        45
    limhiaoing  
    OP
       14 小时 28 分钟前
    @junlong 复现了,相册这里确实很奇怪。
    FirerWire3
        46
    FirerWire3  
       12 小时 23 分钟前
    HC7KV-C79J9-F2F93-46JXV-MPD7Z 已用,感谢
    suhu
        47
    suhu  
    PRO
       12 小时 20 分钟前
    JY3QK-DTG7K-DCG9T-24W4V-D4TMZ 已使用
    Kaiyuan
        48
    Kaiyuan  
       10 小时 47 分钟前
    T6H4F-97M2H-37RK9-XPG4X-DY7QZ 已用,感谢。
    Kaiyuan
        49
    Kaiyuan  
       10 小时 24 分钟前
    Windows 11 25H2 26200.7628

    iPhone 16 Pro Max iOS 26.2.1

    投屏失败
    ctuu
        50
    ctuu  
       9 小时 0 分钟前
    TWF6T-RWR6F-4GRPW-6DWJ7-DTDQZ 已用,感谢
    limhiaoing
        51
    limhiaoing  
    OP
       8 小时 59 分钟前
    @Kaiyuan 感谢反馈!投屏失败可能需要结合日志分析一下。不过当前版本是不会记录日志的,下个版本会在设置页里增加选项允许开启日志(默认关)。方便遇到问题可以提取日志。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2123 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 02:20 · PVG 10:20 · LAX 18:20 · JFK 21:20
    ♥ Do have faith in what you're doing.