docs: add sound settings design document
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
38
docs/plans/2026-05-09-sound-settings-design.md
Normal file
38
docs/plans/2026-05-09-sound-settings-design.md
Normal 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` — 集成铃声播放
|
||||||
Reference in New Issue
Block a user