|
|
@@ -1,16 +1,71 @@
|
|
|
-# TTMusic 鸿蒙音乐播放器
|
|
|
+# 天天静听音乐播放器
|
|
|
|
|
|
-TTMusic 是基于 OpenHarmony(鸿蒙)平台开发的本地音乐播放器,支持本地音频文件的管理、播放、歌单、收藏、歌词显示、封面管理、批量操作等丰富功能。
|
|
|
+TTMusic 是基于 OpenHarmony(鸿蒙)平台开发的高性能音乐播放器,支持本地和网络音频播放,集成了强大的音视频处理能力和VIP服务系统。
|
|
|
+
|
|
|
+## 核心功能
|
|
|
+
|
|
|
+### 播放能力
|
|
|
+- 音频格式:MP3、AAC、FLAC、APE、WAV等
|
|
|
+- 视频格式:H.264、MPEG4、VP8/VP9等
|
|
|
+- 流媒体协议:HLS、RTMP、HTTP/HTTPS等
|
|
|
+- 特色功能:变速不变调、高清音质、多音轨切换
|
|
|
+
|
|
|
+### 媒体管理
|
|
|
+- 智能歌单管理(收藏夹、最近播放等)
|
|
|
+- 批量文件操作(导入/导出、重命名、删除)
|
|
|
+- 艺术家、专辑分类浏览
|
|
|
+- 歌词同步显示与自定义导入
|
|
|
+
|
|
|
+### 增值服务
|
|
|
+- VIP会员系统
|
|
|
+- 高品质音源下载
|
|
|
+- 无广告播放体验
|
|
|
+
|
|
|
+## 技术架构
|
|
|
+```mermaid
|
|
|
+graph TD
|
|
|
+ A[UI界面] --> B[业务逻辑]
|
|
|
+ B --> C[ijkplayer核心]
|
|
|
+ C --> D[FFmpeg解码]
|
|
|
+ C --> E[SoundTouch处理]
|
|
|
+ B --> F[网络模块]
|
|
|
+ B --> G[用户系统]
|
|
|
+ B --> H[广告SDK]
|
|
|
+```
|
|
|
+## 主要API简要
|
|
|
+播放器核心接口基于 IjkMediaPlayer,支持如下常用方法:
|
|
|
+- `setDataSource(url: string)` 设置音频源
|
|
|
+- `prepareAsync()` 异步准备播放
|
|
|
+- `start()` 开始播放
|
|
|
+- `pause()` 暂停播放
|
|
|
+- `stop()` 停止播放
|
|
|
+- `seekTo(msec: number)` 跳转到指定位置
|
|
|
+- `setSpeed(speed: string)` 设置播放速度
|
|
|
+- `setLoopCount(looping: boolean)` 设置循环播放
|
|
|
+- `setVolume(left: string, right: string)` 设置音量
|
|
|
+- `setOnCompletionListener(listener)` 播放完成回调
|
|
|
+- `setOnErrorListener(listener)` 错误回调
|
|
|
+- 详见 `entry/src/main/ets/view/LocalMusic.ets` 及相关 ViewModel
|
|
|
+
|
|
|
+## 目录结构
|
|
|
+```text
|
|
|
+|-- entry
|
|
|
+| |-- src/main/ets
|
|
|
+| | |-- view/ # 主要UI与音乐播放逻辑
|
|
|
+| | |-- viewmodel/ # 数据模型与业务逻辑
|
|
|
+| | |-- common/ # 常量、工具类
|
|
|
+| | |-- controller/ # 控制器
|
|
|
+| | |-- resources/ # 资源文件
|
|
|
+| |-- oh_modules/ # 三方依赖
|
|
|
+|-- ijkplayer/ # 播放器内核及native模块
|
|
|
+|-- lib/ # 公共库
|
|
|
+|-- doc/ # 相关文档
|
|
|
+|-- README.md
|
|
|
+|-- README_zh.md
|
|
|
+```
|
|
|
|
|
|
-## 主要功能
|
|
|
-- 支持多种音频格式的本地播放
|
|
|
-- 歌单管理、收藏夹、最近播放
|
|
|
-- 歌词同步显示与导入
|
|
|
-- 音乐封面自动提取与自定义
|
|
|
-- 批量导入、剪切、复制、删除、重命名
|
|
|
-- 艺术家、专辑、媒体库分组浏览
|
|
|
-- 支持倍速播放、音频焦点、循环播放等
|
|
|
-- 适配多种鸿蒙设备,支持平板、折叠屏等
|
|
|
|
|
|
## 开源协议
|
|
|
-本项目基于 [Apache 2.0 License](LICENSE) 开源,欢迎自由使用和参与贡献。
|
|
|
+本项目基于 [Apache 2.0 License](LICENSE) 开源,欢迎自由使用和参与贡献。
|
|
|
+
|
|
|
+> 注:本项目集成了部分第三方SDK,商业使用时请遵守相关协议
|