一款面向 Android 的本地音乐管理、格式转换与音频处理工具。
当前正式版本:v2.3
最低 Android 版本:Android 10(API 29)
QQ 交流群:1054469058
如果链接无法直接打开,请在 QQ 中搜索群号 1054469058 加入。
- 首页直接列出设备中的本地音乐
- 本地音乐列表支持缓存恢复,不会每次启动都自动重新扫描
- 本地音乐采用分批加载,降低大量歌曲时的滚动卡顿
- 本地音乐缺少封面时可联网搜索并缓存封面
- 内置播放器与底部迷你播放器
- 当前播放列表支持添加、删除、清空和点击切歌
- 支持顺序播放、单曲循环和随机播放
- 播放时显示系统通知栏提示
- 单文件转换与批量转换统一到 “转码” 页面
- 音频剪辑与选区试听
- 转换或剪辑完成后支持保留、删除或置换源文件
- 支持自定义批量扫描时需要忽略的音频格式
- 批量转换支持 1~4 路并行、暂停、继续和停止
- 批量转换使用 Android 前台服务,可在离开主界面后继续执行
- Room 本地处理历史
- 设置页集中管理主题、底部播放器显示、文件权限、电池优化、缓存、历史记录和 FFmpeg 检测
- 支持深色 / 浅色界面
应用内包含在线音乐搜索与播放入口,并支持多个第三方音源聚合、自动切源以及与本地音乐共用播放器。
该功能不维护。 在线音源、接口和媒体地址均可能随第三方服务变化而失效,出现搜索失败、无法解析或无法播放时,不保证持续修复,也不保证任何音源长期可用。MusicConverter 的主要定位仍然是本地音乐处理。
首页读取 Android MediaStore 中的本地音乐。首次授权后会扫描音乐列表,后续启动优先恢复缓存;需要重新获取新增或删除的音乐时,可手动点击“刷新本地音乐”。
为了提升大量歌曲场景下的流畅度,列表采用分批渲染。歌曲缺少本地缩略图时,应用可以联网尝试补全封面,成功结果会写入缓存,避免反复请求。
播放器支持:
- 当前播放列表
- 添加 / 删除歌曲
- 清空播放列表
- 上一首 / 下一首
- 顺序播放
- 单曲循环
- 随机播放
- 底部迷你播放器
- 系统通知栏播放提示
- MP3
- FLAC
- M4A / AAC
- WAV
- OGG / OPUS
工程包含对以下类型的识别与处理能力:
- 网易云音乐 NCM
- QQ 音乐 QMC / MFLAC 等格式
- 酷狗 KGM / KGMA / VPR
- 酷我 KWM
部分新版加密格式可能依赖额外密钥或受到上游解密能力限制,因此不能保证所有文件都可以成功处理。
“转码”页面集中提供单文件转换和批量转换。批量模式支持通过 Android SAF 选择目录并递归扫描音乐文件,也可在获得“所有文件访问权限”后使用全盘扫描。
可以设置扫描时需要忽略的格式,例如 MP3、FLAC、M4A / AAC、WAV、OGG / OPUS 以及部分加密音乐格式。默认忽略 MP3,避免 MP3 → MP3 的重复有损转码。
批量转换支持:
- 1~4 路并行任务
- 转换进度与成功 / 失败统计
- 前台服务与常驻通知
- 通知栏暂停、继续和停止
- 完成当前任务后再暂停
- 可选置换源文件
多数设备建议使用 2 路并行。更高并行度会增加温度、耗电和存储 I/O,并不一定更快。
编辑页面可以在进入后再选择或重新选择音频文件。支持普通音频和可处理的加密音乐文件。
目前包含波形预览、选区剪辑和试听等能力。剪辑优先尝试 FFmpeg stream copy,无法直接复制时自动使用重新编码方式处理。
处理完成后可以根据实际文件与存储权限选择保留源文件、删除源文件或使用处理结果置换源文件。
底部“设置”页面集中提供界面与系统相关选项,并在页面最下方保留应用介绍。主要包括:
- 深色 / 浅色主题
- 底部播放器默认显示
- 所有文件访问权限
- 后台耗电 / 电池优化
- 扫描已安装音乐 APP
- 转换 / 剪辑历史
- FFmpeg 运行检测
- 清理缓存
- 软件更新
- 应用介绍、隐私说明、交流群与开源组件信息
“清理缓存”会清理本地音乐列表缓存、联网封面缓存和应用临时缓存,不会删除音乐文件或转换结果。
默认输出目录:
Music/MusicConverter/
输出通过 Android MediaStore / SAF 处理,遵守 Android 存储权限和沙箱机制。
Android 11 及以上版本中,Android/data、Android/obb 等目录仍受系统限制。
- JDK 17
- Python 3.11
- Gradle Wrapper 8.7
- compileSdk 35
- targetSdk 35
- minSdk 29
- ABI:
arm64-v8a、armeabi-v7a
项目使用 Chaquopy 调用 Python 音频处理组件,并使用工程内的 FFmpegKit module,不依赖已经停止发布的 FFmpegKit Maven artifact。
./gradlew assembleDebugRelease 构建需要配置对应的签名信息。
- 批量处理大量文件前,建议先使用少量文件确认输出结果。
- 置换或删除源文件的能力取决于 Android SAF / MediaStore 以及文件提供方授予的权限;无法安全修改源文件时,应用会尽量保留原文件和已经生成的输出。
- MIUI / HyperOS 可能额外限制后台任务。长时间批量转换时,可根据需要将应用电池策略调整为允许后台运行。
- 在线音乐功能不维护,第三方音源不可用不代表本地转换、编辑和播放器功能异常。
- FFmpegKit 及其他第三方组件具有各自的开源许可要求,重新分发 APK 时请根据实际构建配置核对相应许可。
- Kotlin / Android Framework
- FFmpegKit
- Chaquopy / Python 3.11
- PyCryptodome
- Mutagen
- Android Room
MusicConverter 主要用于管理和处理用户自己拥有并有权处理的本地音频文件。应用不会绕过 Android 系统的存储沙箱限制。