Android 端高性能无缝循环音频播放器,采用 Kotlin + C++ (Oboe) 混合架构,专门为实现游戏音乐及各种循环音频的完美无缝衔接而设计。
目前由于没有做电脑端同步手机端数据的功能,手机上的任何修改(收藏,歌单,循环点修改等等)都不能同步到电脑,因此最好是只作为电脑端数据的播放器,
- 高性能 Native 播放引擎:基于 Google Oboe 1.9.3 + NDK minimp3 解码器,实现亚毫秒级别的低延迟无缝循环播放。
- 自动循环点探测引擎 (
loopfinder):集成基于 FFT & Chroma 提取的高级音频算法,支持一键分析音频的最佳循环衔接点(提供 Top 5 候选推荐)。 - A/B 式音乐支持:独创支持由 Intro 段(A轨)和 Loop 段(B轨)组成的双轨歌曲无缝拼接播放,自动标记 B 轨并于 UI 中优雅过滤。
- Room 3NF 数据持久化:精心设计的 Room 2.7.0-alpha11 规范 3NF 数据库,支持双指纹去重(优先匹配
FileName+Duration,兜底FilePath匹配)。
Tip
点击主界面右上角的奇特符号,然后寻找到电脑端的db文件即可。 db 文件可以直接使用微信传输或其他方式,从电脑转移到手机中。导入后,APP 会自动进行容差匹配和增量批量写入,补充手机端没有的循环点、歌单等数据
下面以微信传输助手为例讲解同步方法:
1.首先下载电脑端传输的db文件
2.在播放器的设置界面寻找到db文件,如果一开始没有找到db文件,可以在文件夹的“下载”位置找到
3.找到所需的db文件,按下即同步
- 操作系统:原生 Windows 11 (命令行推荐使用 PowerShell)。
- 编译依赖:Min SDK 26, Target SDK 35, Gradle 9.1.0, Kotlin 2.1.0, Room KSP 启用。
- 编译 Debug 包:
.\gradlew.bat assembleDebug - 运行单元测试:
.\gradlew.bat testDebugUnitTest - 运行特定测试(例如播放模式测试):
.\gradlew.bat testDebugUnitTest --tests "com.cpu.seamlessloopmobile.viewmodel.PlayModeTest"
- 一键调试部署 (需 Root 设备):
运行根目录下的部署脚本:
.\run.bat
如果您是参与本项目的智能体(AI) 或 人类开发者,在进行任何实质性代码修改前,请务必先阅读 AGENTS.md 了解以下关键细节:
- 构建天坑:
app/build.gradle.kts中kotlin-android插件必须保持注释! - JNI / fopen 路径限制:Native 音频分析无法直接读取
content://,必须先拷贝到私有 cache 目录。 - Room Schema:Room 9张实体表和3个DAO的详细映射图。
- 包结构速查:子模块(audio, data, db, viewmodel, model, scanner, jni 等)职责定义。



