Moonlight Desk——无界交互 感谢投票支持

【硬件交互赛道】+ Moonlight Desk——无界交互

0. 先和大家打个招呼吧 :waving_hand:

大家好,我是一名计算机专业的大三学生,平时不是在实验室调板子,就是在宿舍折腾各种软硬件小工具。每次笔记本屏幕都不够用,一个窗口写报告、一个窗口跑代码、还要开着教程来回切,真的心累。有一次假期回家只带了笔记本和手机,临时需要多窗口对照资料,我突然想:为什么不能把小屏变成一块即连即用的无线副屏,顺手还能像鼠标一样操控电脑?

于是我在宿舍打开 TRAE,对着对话框敲下了第一行需求:“帮我设计一个 PC 服务端和安卓 APP,手机能自动发现电脑,把电脑屏幕投到手机上,还能反向触控”。没写一行代码,只是把脑海里的画面一点点描述给它听。TRAE 先给出了完整的架构方案,又逐层把网络发现、屏幕采集、视频流推送、触控坐标映射的代码落地。最让我惊喜的是,当我被安卓画面黑屏、坐标漂移卡了很久的时候,只是把错误日志和现象截图发给它,它就能结合主流屏幕采集方案分析出问题所在,甚至直接给了我一版兼容 Graphics Capture 和 DXGI 的低延迟采集代码。那种“原来这么难的东西也能用聊天搞定”的感觉,让我从焦头烂额变成了乐在其中。

下面这个 Demo,就是我和 TRAE 在无数个深夜宿舍断电前对话的产物,希望你能用得上。


软件体验下载: 无界交互.zip - 蓝奏云
(需要连接同一个网段,热点不开数据也能用
app端 允许所有权限,本软件不涉及外网连接,因为未签名所以可能会被拦截允许即可
PC端 关闭杀毒 允许所有进程和防火墙,因为使用透传所以会被防火墙和杀毒拦截允许即可。这个也不涉及外网所以同意就行)
软件仅供大赛参考思路和个人使用

1. Demo 简介

产品形态
一套由 PC 服务端(Windows) + 安卓移动端 APP 组成的局域网多模式副屏与远程操控系统。

核心用户
需要随时随地扩展屏幕、远程控制主机的学生、开发者、极客玩家,以及希望用旧手机充当电脑第二屏的普通办公用户。

主要功能

  • 零配置自动连接:PC 服务端自动分配端口,通过 UDP 广播自身信息,手机打开 APP 即可一键发现并连接,无需手动填写 IP。
  • 实时低延迟投屏:支持 720p~4K 分辨率、30/60/90/120 FPS 自定义帧率,手机端自动等比缩放、无裁切完整显示电脑画面。
  • 多模式交互操控
    • 投屏模式:纯画面观看,可双指缩放,适合展示和监控。
    • 远控模式:触控板 + 键盘混合控制,支持电脑全键盘/手机键盘切换,触控板指针精准映射。
    • 任务栏模式:只显示电脑端正在运行的进程,点击即切换窗口焦点,双击最小化,像个随身任务管理器。
    • 软件启动器:APP 内显示电脑端自定义的应用图标,一键远程打开/关闭电脑软件。

(此处可插入 APP 主界面与多模式切换截图)


2. Demo 创作思路

灵感来源
学生党屏幕永远不够用,笔记本来回切窗口效率极低,而旧手机往往闲置。市面上的副屏软件要么需要手动填 IP,要么触控偏移、延迟巨大,操作逻辑也割裂。我就想自己做一套“手机插上电就能变成电脑的小尾巴”的工具,既要画面跟手,又要能完全代替鼠标键盘操作电脑。

解决的痛点

  • 传统副屏工具配置繁琐,普通同学根本搞不定 IP 和端口。
  • 触控映射不精准,点击位置会跑偏,尤其在分屏或折叠屏手机上。
  • 远程控制软件要么只能看不能摸,要么延迟让人抓狂。
  • 没有一个应用能同时优雅地把“投屏看”、“遥控摸”、“启动软件”和“管理任务”四件事揉在一起。

方向判断与取舍
我坚持 局域网自动发现 + 动态端口 的设计,把用户的配置成本降到 0。同时坚决不做简单的全屏拉伸裁切,而是通过画布等比计算保障画面完整。在模式设计上,我没有把功能都塞到一个界面,而是提供清晰的模式切换(右上角圆形按钮),让“看”和“控”各得其所。延迟方面,我先后调研了 MediaProjection + MediaCodec、Graphics Capture、DXGI Desktop Duplication 等多种方案,最终选择了一条画质与延迟平衡的路,并把选择权交给用户自由调节分辨率与帧率。


3. Demo 体验地址

(按照赛道要求,硬件交互赛道可提交演示视频替代在线体验)

:play_button: 完整功能演示视频:在下面4.里面有

如需实际部署体验,可将配套的 PC 端和 APK 文件打包成 ZIP 上传社区。我们推荐先观看视频了解全貌,以下是几个关键演示段落:

  • 手机自动发现 PC 并连接
  • 投屏/远控/任务栏模式切换与操作
  • 触控坐标精准度测试
  • 4K 120fps 低延迟表现

软件体验下载: 无界交互.zip - 蓝奏云


4. TRAE 实践过程

整个项目由 TRAE 辅助完成,我只负责描述需求、截图反馈问题、补充逻辑细节。下面分五个关键阶段复盘开发流程。

阶段一:PC 服务端核心框架与自动广播

  • 操作:向 TRAE 描述了“Windows 服务端需要自动分配端口、UDP 广播设备信息、HTTP 接口接收指令”的需求。
  • TRAE 产出:生成了完整的模块分层代码,包括动态端口扫描、广播线程、HTTP 服务监听,并加入了防火墙自动放行逻辑。
  • 关键截图 1:TRAE 对话中生成的 PC 端服务启动日志与端口分配代码片段。
  • **Session:.4232452606279360:fd733a9b37f095e2716ff428c9399dad_6a4c9078e343bb67dde3fdae.6a4c907de343bb67dde3fdb0.6a4c907dde4c3f37ac78b260:Trae CN.T(2026/7/7 13:37:01)

阶段二:安卓端画面渲染与自适应适配

  • 操作:提供了“手机端需要拉流显示,无论手机屏幕比例如何,电脑画面都要完整显示不裁切”的详细规则。
  • TRAE 产出:设计了基于 SurfaceView 的渲染管线,以及等比缩放居中算法触摸坐标反向换算公式,完美解决偏移问题。
  • 关键截图 2:手机横屏、竖屏、分屏三种状态下,电脑画面均完整居中显示的对比截图。
  • Session ID:.4232452606279360:cd2d953a9c3d8012da40e80072bad336_6a4c9078e343bb67dde3fdae.6a4dcd4444412fad8cf79dcc.6a4dcd4486914dcf175dcf67:Trae CN.T(2026/7/8 12:08:36)



阶段三:多模式 UI 与逻辑重构

  • 操作:多次反馈“UI 逻辑混乱”、“投屏和远控黑屏”、“触摸像瞬移”,要求重新设计 APP 交互架构,并加入投屏/远控/任务栏模式切换。
  • TRAE 产出:重构了整个主控制页面的状态机,定义右上角圆形按钮切换四种模式,每种模式拥有独立的视图形状和触摸逻辑。同时协助排查黑屏原因(端口未正确传递、MJPG 流解析边界异常),并修正触摸坐标映射丢失 offset 的问题。
  • 关键截图 3:TRAE 对话中关于“触控模式状态机设计”的代码结构截图,以及修复黑屏后 APP 正常出画的瞬间截图。
  • Session ID:.4232452606279360:358d0ece70f7e9226eee43da41ba1391_6a4c9078e343bb67dde3fdae.6a4dcfdf44412fad8cf79e0a.6a4dcfde86914dcf175dcf68:Trae CN.T(2026/7/8 12:19:43)

    解决完毕

阶段四:性能调优与多档位选择

  • 操作:抱怨“卡顿、延迟大、内存溢出”,要求 TRAE 搜索主流低延迟方案,提供分辨率/FPS 自定义选项。
  • TRAE 产出:重构了 PC 端屏幕采集层,从原始 BitBlt 方案升级到 DXGI Desktop Duplication API,并增加了 H.264 编码选项(带硬件加速)。安卓端增加了帧缓冲队列和自适应解码。同时加入了 320p/720p/1080p/2K/4K 分辨率与 30/60/90/120 FPS 的组合选择面板。
  • 关键截图 4:APP 设置页面中分辨率和帧率选择器截图,以及任务管理器显示 PC 端内存占用从 3.8G 降回 200M 的对比。
  • Session ID:.4232452606279360:357512b27cd429f78ff6180ef6389f45_6a4c9078e343bb67dde3fdae.6a4dd39944412fad8cf79ebe.6a4dd39886914dcf175dcf6b:Trae CN.T(2026/7/8 12:35:37)

阶段五:任务栏模式与焦点控制

  • 操作:提出“做一个像 Windows 任务栏一样的界面,只显示进程,点击能切换窗口焦点,双击最小化”。
  • TRAE 产出:在 PC 端增加进程枚举与窗口焦点控制 API(SetForegroundWindow、ShowWindow),安卓端绘制列表视图,每个条目绑定双击事件。同时处理了图标透明毛玻璃背景、自定义电脑壁纸上传保存的功能。

4.测试视频:
进程调用打开与关闭无缝切换


快速连接与打开软件

远控与画面画质帧数切换流畅

投屏模式监控进度运行

5. 对应的报名审核通过的帖子链接

【学习工作赛道】榫卯AI 建模大师——3D脚本建模工具 - TRAE AI 创造力大赛 / 【大赛报名专区】 - TRAE 官方中文社区


写在最后
这个 Demo 从头到尾由 TRAE 和我配合完成,AI 负责把模糊的想法翻译成可运行的代码,我负责用场景化的反馈把它打磨得更贴近真实使用。如果你也是一名想在宿舍把旧手机变成第二屏的同学,或者想看看 TRAE 如何在硬件交互项目上大展拳脚,欢迎下载体验、一起折腾。每一个熄灯后的屏幕,都该有更自由的可能。