NeriPlayer (音理音理!):原生 Android 多源音频聚合播放器

NeriPlayer 是一款基于 Jetpack Compose 和 Media3 构建的原生 Android 音频播放器。其名称与图标灵感源自《星空铁道与白的旅行》中的角色「风又音理」。

不同于传统的单一平台播放器,NeriPlayer 致力于在用户自有账号授权的前提下,打破平台壁垒,整合 网易云音乐、Bilibili (B站) 与 YouTube Music 的在线内容,并提供强大的本地化管理、流媒体缓存及 GitHub 私有仓库同步功能。它不提供服务,而是作为你连接已有音乐服务的桥梁。

核心特性

1. 多源聚合与无缝播放

  • 三大平台支持
    • 网易云音乐:登录、搜索、精选歌单/专辑访问、播放、下载、歌词补全。
    • Bilibili:登录、搜索、收藏夹访问、视频转音频播放(分 P 支持)、下载。
    • YouTube Music:登录、歌单浏览、播放、下载。
    • (注:QQ 音乐目前仅用于元数据/歌词补全)
  • 分层搜索体系
    • Explore 页:聚合网易云、B站、YTM 的搜索与推荐。
    • SearchManager:利用网易云和 QQ 音乐接口补全封面、歌词等元数据,确保播放体验完整。

2. 极致的本地可控性

  • 流媒体缓存:基于 SimpleCache + LRU 策略,默认 1GB 上限,支持手动清理,让在线歌曲也能“离线”听。
  • 应用内下载:支持将在线音源下载到应用专属目录,自动同步歌词与封面,方便离线管理。
  • 本地导入:支持系统分享 (SEND) 或直接扫描设备本地音频文件,统一纳入播放库。
  • 数据备份:支持歌单与收藏数据的 JSON 导入/导出,便于设备迁移。

3. GitHub 私有仓库同步

  • 元数据云同步:可选将本地歌单、收藏、最近播放记录同步至用户自己的 GitHub 私有仓库
  • 安全存储:GitHub Token 通过 Android Keystore + EncryptedSharedPreferences 加密存储,确保凭证安全。
  • 智能同步:基于 WorkManager 实现延迟同步(变更后 5 秒)与周期同步(每小时),采用三路合并算法处理冲突。
  • 隐私边界:仅同步元数据(歌单/历史),绝不上传音频文件、缓存、Cookie 或播放 Token。

4. 高级功能与交互

  • 一起听 (Listen Together)
    • 基于 WebSocket 的实时同步播放状态。
    • 支持创建房间、权限控制(房主/听众)及房主离线检测。
    • 服务端基于 Cloudflare Workers + Durable Objects,低延迟且易于自建。
  • 音频反应式背景:在 Android 13+ 设备上,Now Playing 页面可选启用基于 RuntimeShader 的动态音频可视化背景。
  • 开发者模式:连续点击版本号 7 次开启,内含各平台 API 探针、日志查看器,方便调试与问题排查。

技术架构

  • UI 框架:Jetpack Compose (单 Activity 架构)。
  • 播放核心:Android Media3 (ExoPlayer)。
  • 导航:Compose NavHost。
  • 后台任务:WorkManager (用于同步与后台播放服务)。
  • 网络通信:Retrofit + OkHttp。
  • 最低要求:Android 9 (API 28)。

快速开始

1. 安装与初始化

  • 从 GitHub Releases 下载最新 APK 并安装。
  • 首次启动需阅读并同意免责声明。

2. 配置账号

  • 进入设置页,分别登录网易云音乐、Bilibili 或 YouTube Music。
  • 注意:NeriPlayer 不提供公共曲库,所有在线内容依赖你的个人账号权限(如会员歌曲仍需会员身份)。

3. (可选) 配置 GitHub 同步

  1. 在 GitHub 生成一个具有 repo 权限的 Personal Access Token
  2. 在 NeriPlayer 设置中填入 Token 并配置仓库名称。
  3. 开启自动同步,享受跨设备元数据同步体验。

4. (可选) 部署“一起听”服务端

  • 使用官方提供的 Cloudflare Workers 模板一键部署,或使用社区搭建的服务。
  • 在应用内输入服务端地址即可创建或加入房间。

⚠️ 重要说明

  • 非盗版工具:NeriPlayer 只是一个播放器外壳,所有内容来源均依赖第三方平台接口。请尊重版权,遵守各平台服务条款。
  • 账号安全:虽然 Token 加密存储,但建议定期更换 GitHub Token 及各平台密码,以保万全。
  • 稳定性:由于依赖第三方非公开 API,部分功能可能随平台接口调整而暂时失效,请关注项目更新。
下载地址
百度云盘
密码:gzn5
夸克
密码:E2mP

评论