前言
最近在给纯血鸿蒙开发一个本地音乐播放器App------我爱听歌。从MediaKit选型到ArkUI动画,踩了不少坑。这篇文章整理一下核心架构和关键实现。
技术选型
- 播放引擎:基于HarmonyOS MediaKit API封装的Native播放层
- UI框架:ArkUI声明式开发范式
- 数据存储:关系型数据库Preferences + RDB组合
核心架构
分层设计:UI层(ArkUI组件)→业务层(Playlist/SongManager)→引擎层(PlayerEngine封装MediaKit)→数据层(RDB+Preferences)
踩坑记录
- 音频焦点冲突:鸿蒙系统音频焦点管理比安卓更严格
- 后台播放:需要申请ohos.permission.ACCESS_BACKGROUND_MEDIA权限
- 分布式同步:跨设备歌单同步需要分布式数据管理权限
- HiFi模式:开启Hi-Res需要检查设备能力
结语
纯血鸿蒙的MediaKit API相比安卓更规范,但生态还在完善中。