# 天天静听音乐播放器 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) 开源,欢迎自由使用和参与贡献。 > 注:本项目集成了部分第三方SDK,商业使用时请遵守相关协议