NABCD 分析 - LQF39466/BananaPlayer GitHub Wiki

N (Need)

一个可以播放主流的音乐文件的 Android 平台本地播放器。实现本地歌曲的扫描、筛选,基本的播放控制,并接入 Android 系统的音乐通知。

A (Approach)

  • 使用 Android 提供的 API,实现对本地文件的扫描,并筛选出支持的音频文件。
  • 使用 Android 提供的 API,实现音频播放和控制。
  • 自行实现歌曲列表的数据结构设计,并支持搜索、按一定条件排序等功能。
  • 自行实现播放列表的数据结构设计,支持插入(下一首播放 & 最后播放)。
  • 自行实现从音频文件获取歌曲信息的功能。

B (Benefit)

  • 界面美观,尽可能使用统一的设计语言,保持界面显示的一致性。
  • 操作简单,操作符合直觉,尽可能降低用户的学习成本。

C (Competitors)

音乐播放器发展已久,各大主流的播放器都有一定规模和固定用户。

D (Delivery)

  • 后续可以考虑增加一些个性化功能,比如跟随系统的 Light/Dark Mode 切换。
  • 增加歌词显示功能。
  • 支持更多的媒体格式等。