Files
绝尘 cd7247d880 新增: 功能路线图 + 9份需求契约
- feature-roadmap.md: 现有能力盘点 + P1/P2/P3方向 + 竞品参考
- AI深度视差: 远程推理方案(服务端Depth-Anything + 客户端WebGL)
- 自动升级模块文档: 设计规格/任务规划/决策记录
- 9份需求契约: 视频/颜色提取/时间段/番茄钟/播放列表/电池/网页/便签/监控
2026-05-28 19:06:39 +08:00

60 lines
2.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 视频壁纸 — 需求契约
> 创建时间2026-05-28
> 状态:需求已确认
## 目标
支持将视频文件mp4/WebM/GIF设为桌面壁纸WebView2 `<video>` 标签播放。
## 用户场景
1. 用户在设置页选择"视频壁纸",弹出文件选择对话框(过滤 mp4/WebM/GIF
2. 选中视频后,桌面壁纸立即切换为视频循环播放
3. 视频静音播放,不干扰用户工作
4. 全屏应用(游戏/视频播放器)时自动暂停,退出全屏后恢复
## 验收标准
- [ ] 支持 mp4、WebM、GIF 格式
- [ ] 视频循环播放,无黑帧闪烁
- [ ] 默认静音,设置页可选开启声音
- [ ] 全屏应用时暂停视频,退出恢复
- [ ] 视频文件路径持久化,重启后恢复
- [ ] 视频填充方式cover默认不拉伸变形
- [ ] 设置页可预览当前视频壁纸
## 本次范围
- 本地视频文件作为壁纸
- 视频播放控制(静音/循环/暂停恢复)
## 非目标
- 在线视频 URL 播放(属于"网页壁纸"方向)
- 视频编辑/裁剪
- 多显示器不同视频
## 约束
- WebView2 `<video>` 原生能力,不引入额外播放器库
- 视频文件不嵌入 exe用户自行管理文件路径
- 大视频文件(>500MB需考虑内存占用不做完整 dataURI 转换,用文件 URL
- 复用现有壁纸类型切换架构(`saveWallpaperType`
## 风险
| 风险 | 缓解 |
|------|------|
| 大视频内存占用 | 不转 dataURI`file:///` 协议加载 |
| WebView2 视频解码兼容性 | 测试 H.264/VP9 编码,不支持的格式提示用户 |
| 视频切换时闪烁 | 预加载下一帧CSS transition 淡入 |
## 技术方案
- `wallpaper.go` 新增壁纸类型 `video`
- 视频 HTML 模板:全屏 `<video>` 标签autoplay/loop/muted/cover
- `config.go` 新增 `VideoPath string` 字段
- `settings.go` 新增 `pickVideoFile` 函数(复用文件对话框,过滤视频格式)
- 前端设置页 WallpaperSection 新增"视频壁纸"选项