Files
pad_scanner/docs/plans/2026-05-09-sound-settings-design.md
Misaka 28006f19a5 docs: add sound settings design document
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-09 20:50:35 +08:00

39 lines
1.3 KiB
Markdown
Raw 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.
# 铃声配置功能设计
## 概述
在设置页新增铃声配置入口,用户可以为"上架成功"和"上架失败"分别指定本地音频文件作为提示铃声。
## 依赖
- `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` — 集成铃声播放