NABCD 分析 - LQF39466/BananaPlayer GitHub Wiki
N (Need)
一个可以播放主流的音乐文件的 Android 平台本地播放器。实现本地歌曲的扫描、筛选,基本的播放控制,并接入 Android 系统的音乐通知。
A (Approach)
- 使用 Android 提供的 API,实现对本地文件的扫描,并筛选出支持的音频文件。
- 使用 Android 提供的 API,实现音频播放和控制。
- 自行实现歌曲列表的数据结构设计,并支持搜索、按一定条件排序等功能。
- 自行实现播放列表的数据结构设计,支持插入(下一首播放 & 最后播放)。
- 自行实现从音频文件获取歌曲信息的功能。
B (Benefit)
- 界面美观,尽可能使用统一的设计语言,保持界面显示的一致性。
- 操作简单,操作符合直觉,尽可能降低用户的学习成本。
C (Competitors)
音乐播放器发展已久,各大主流的播放器都有一定规模和固定用户。
D (Delivery)
- 后续可以考虑增加一些个性化功能,比如跟随系统的 Light/Dark Mode 切换。
- 增加歌词显示功能。
- 支持更多的媒体格式等。