音乐播放器
一款允许您按艺术家搜索音乐的音乐播放器应用。音乐来源来自 iTunes affiliate API。使用 Flutter 构建,并采用 受 Reso Coder 启发的简单干净架构 和 Felix Angelov 的 Bloc 状态管理。设计灵感来自 Spotify。
| 按艺术家搜索歌曲 | 播放和暂停歌曲 |
|---|---|
![]() |
![]() |
| 初始屏幕 | 空结果 | 连接错误 |
|---|---|---|
![]() |
![]() |
![]() |
支持的功能
- 按艺术家搜索歌曲预览
- 播放和停止歌曲
- 播放指示器
- 在后台播放歌曲
- 竖屏锁定
- 错误处理包括空结果、服务器错误和连接错误。
支持的设备
- 您可以在 Android API 级别 16 (Jelly Bean) 或更高版本上运行此应用。
在此项目中,我尝试实现了一些堆栈,例如
- 实现受 reso coder 启发的干净架构
- 使用 flutter_bloc 进行 Bloc 状态管理
- 实现简单的 原子设计
- 使用 get_it 进行服务定位器
- 使用 Flutter 内置的测试套件和 bloc test 进行单元测试
- 使用 mocktail 进行模拟
- 使用 bloc observer 进行状态日志记录
- 处理防抖事件。
前提条件
- 在开始之前,请确保您已根据您的操作系统安装了 Flutter。
- Android 设备或 Android 模拟器,Android API 级别 16 (Jelly Bean) 或更高版本。
如何构建
- 确保已安装 Flutter
- 克隆此存储库
git clone https://github.com/Muhibush/music_player.git - 在您的 IDE(如 Android Studio、Visual Code 等)中打开项目。
- 打开 Android 模拟器或连接您的 Android 设备。
- 运行
flutter pub get以获取所有必需的依赖项。 - 使用命令
flutter run以调试模式构建,或使用flutter run --release以发布模式构建。
如何运行单元测试
- 在项目目录中运行
flutter test。 - 使用
flutter test --coverage生成覆盖率报告,覆盖率报告似乎已生成到文件/coverage/lcov.info中。
联系方式
如果您想联系我,可以通过 Instagram 或 Linkedin 联系我。




