使用Compose多平台构建的音乐播放器
项目介绍
这是一个基于Compose Multiplatform UI的跨平台音乐播放器应用,它能在Android、iOS、桌面和Web上无缝运行。该应用利用Spotify API获取Top 50排行榜和热门专辑信息。目前,Google登录功能正在等待中,您需要手动设置Spotify访问令牌。您可以在Spotify开发者控制台获取专辑并设置到应用程序中。
技术分析
- 平台支持: 应用针对不同平台采用了不同的媒体播放器,如iOS上的AVKit,Android上的Media Player,桌面端的VLC媒体播放器以及Web端的HTML媒体播放器。
- 低级别API集成: 该项目旨在探索如何使Compose UI与底层API互动,为开发者提供了一次富有挑战性的学习经历。
应用场景
这款音乐播放器适用于各类平台的用户,无论是在手机还是电脑上,都能享受统一的界面和体验。通过Spotify API,您可以随时随地发现全球最热的音乐趋势,创建或添加喜爱的播放列表。
项目特点
- 跨平台兼容性: 支持Android、iOS、桌面及Web四类平台,实现全平台覆盖。
- 自适应媒体播放: 根据各平台特性采用相应的本地媒体播放器,确保最佳音质和用户体验。
- 直观的Compose UI: 利用JetBrains Compose构建美观、响应式的用户界面,提供一致的多平台界面设计。
- 学习资源丰富: 开发者可以借此项目了解Compose与底层API集成的方法,以及跨平台开发的实践技巧。
已知问题与解决
当前在某些平台上,如选择全部曲目时,自动播放和连续播放功能存在一些小问题,开发团队正积极寻求解决方案。
演示与源代码
以下是应用的截图,您可以从以下链接查看项目的最新进展和源代码:
- 项目仓库: https://github.com/SEAbdulbasit/MusicApp-KMP
- Compose Multiplatform模板: https://github.com/SEAbdulbasit/KMP-Compose-Template
此外,作者还提供了其他有趣的项目供参考:
技术与库
项目采用了以下技术和库:
- Kotlin
- Compose Multiplatform UI
- AVKit
- VLC media player
- HTML media player
- Compose Image Loader
- Decompose
未来计划包括添加Google登录、本地数据库以保存收藏的播放列表以及实施最近发布的功能。
如果您喜欢这个项目,请不要忘记给它点个星哦!在这个项目中,无论是使用者还是开发者,都能找到自己的价值。让我们一起探索Compose多平台的无限可能吧!