docs: add sound settings design document

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Misaka
2026-05-09 20:50:35 +08:00
parent b129ed9714
commit 28006f19a5

View File

@@ -0,0 +1,38 @@
# 铃声配置功能设计
## 概述
在设置页新增铃声配置入口,用户可以为"上架成功"和"上架失败"分别指定本地音频文件作为提示铃声。
## 依赖
- `file_picker` — 从设备选择音频文件(支持 mp3/wav/ogg/aac/m4a/flac
- `audioplayers` — 播放本地音频文件
## 数据存储
使用 `SharedPreferences`
- `sound_success` — 上架成功铃声文件路径
- `sound_failure` — 上架失败铃声文件路径
## UI 设计
设置页新增"铃声设置"分区API 地址下方:
```
铃声设置
─────────────────────────────
上架成功铃声
[当前文件名或"未设置"] [选择] [试听] [清除]
上架失败铃声
[当前文件名或"未设置"] [选择] [试听] [清除]
```
## 音频播放逻辑
- 封装为 `SoundService`,统一管理播放
- 通过 `DeviceFileSource` 播放本地文件
- 上架成功/失败时检查是否配置了铃声,有则播放
- 保留现有震动反馈,铃声与震动并行
## 涉及文件
1. `pubspec.yaml` — 添加依赖
2. `lib/services/sound_service.dart` — 新建,封装音频播放
3. `lib/pages/settings_page.dart` — 新增铃声配置 UI
4. `lib/pages/registration_page.dart` — 集成铃声播放