README.md 2.3 KB

天天静听音乐播放器

TTMusic 是基于 OpenHarmony(鸿蒙)平台开发的高性能音乐播放器,支持本地和网络音频播放,集成了强大的音视频处理能力和VIP服务系统。

核心功能

播放能力

  • 音频格式:MP3、AAC、FLAC、APE、WAV等
  • 视频格式:H.264、MPEG4、VP8/VP9等
  • 流媒体协议:HLS、RTMP、HTTP/HTTPS等
  • 特色功能:变速不变调、高清音质、多音轨切换

媒体管理

  • 智能歌单管理(收藏夹、最近播放等)
  • 批量文件操作(导入/导出、重命名、删除)
  • 艺术家、专辑分类浏览
  • 歌词同步显示与自定义导入

增值服务

  • VIP会员系统
  • 高品质音源下载
  • 无广告播放体验

技术架构

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

目录结构

|-- 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 开源,欢迎自由使用和参与贡献。

注:本项目集成了部分第三方SDK,商业使用时请遵守相关协议