README_zh.md 2.7 KB

TTMusic 鸿蒙音乐播放器

简介

TTMusic 是一款基于 OpenHarmony(鸿蒙)平台开发的本地音乐播放器,支持多种音频格式的本地播放,具备歌单管理、歌词显示、封面管理、批量操作等丰富功能,适配多种鸿蒙设备。

主要功能

  • 支持多种音频格式的本地播放
  • 歌单管理、收藏夹、最近播放
  • 歌词同步显示与导入
  • 音乐封面自动提取与自定义
  • 批量导入、剪切、复制、删除、重命名
  • 艺术家、专辑、媒体库分组浏览
  • 支持倍速播放、音频焦点、循环播放等
  • 适配平板、折叠屏等多种鸿蒙设备

安装与运行

  1. 使用 DevEco Studio 打开本项目。
  2. 下载并安装 OpenHarmony SDK,API 版本建议 >= 9。
  3. 连接支持的鸿蒙设备或模拟器。
  4. 编译并运行项目。

使用说明

  • 首次启动会自动扫描本地 Download 目录下的音频文件。
  • 支持手动导入音频文件、歌词文件(歌词文件需与歌曲同名且同目录)。
  • 支持歌单新建、重命名、删除、批量管理。
  • 支持音乐收藏、最近播放、历史记录。
  • 支持歌词同步显示、音乐封面自定义。
  • 支持多选批量操作(剪切、复制、删除等)。
  • 支持艺术家、专辑、媒体库分组浏览。

主要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

贡献方式

如在使用过程中发现问题,欢迎通过 Issue 反馈,或提交 Pull Request 参与共建。

开源协议

本项目基于 Apache 2.0 License 开源,欢迎自由使用和参与贡献。