Skip to content

🚢 BLYY - 碧蓝航线语音播放器

BLYY Logo

一款现代化的碧蓝航线舰娘语音播放器 Android 应用

功能特性截图预览使用说明安装技术栈项目结构贡献指南致谢

Platform Language License API Compose


📖 项目简介

碧蓝语音是一款专为碧蓝航线玩家设计的现代化语音播放器应用,基于 Kotlin + Jetpack Compose 构建,提供双主题风格(经典紫色 / 指挥中心 HUD)、流畅的动画、丰富的小游戏与 AI 对话能力,让舰娘语音欣赏变成一种享受。

✨ 功能特性

🎨 视觉与交互

  • Material Design 3 声明式 UI,深色/浅色主题自动适配
  • 双主题切换:经典风格 / 指挥中心(Command Center)HUD 风格
  • 毛玻璃效果、切角矩形面板、动态渐变背景
  • 8dp 网格间距系统、统一动画规范、按压反馈
  • 小屏/手表端自适应:检测屏幕最小宽度 ≤ 360dp 时自动缩放 UI 元素

🚢 舰娘管理

  • 完整的舰娘列表浏览,按阵营/类型/稀有度多维筛选
  • 收藏喜爱的舰娘到后宅,长按卡片支持更多操作
  • 誓约粉色特效、稀有度光晕、收藏徽章
  • 卡片式布局 + 骨架屏加载

🎵 语音播放

  • 全量舰娘语音台词,支持中/日双语切换
  • 播放模式:单曲循环 / 列表循环 / 随机播放
  • 稍后播放队列:长按语音条目添加到队列,支持队列管理
  • 媒体会话控制(Media3 ExoPlayer + MediaSession)
  • 锁屏通知栏控制、耳机线控支持

🎭 秘书舰模式

  • 可拖动的舰娘立绘小人(可隐藏到屏幕外)
  • 点击立绘随机播放语音
  • 沉浸式语音播放界面
  • 桌面悬浮窗(需要权限)

🤖 碧蓝航线助手

  • 查玩家:查询指挥官信息(等级、UID、收集率、资源、委托、科研、待办副本)
  • 查建造:查询玩家建造记录(支持分页,最多 500 条)
  • UID 与服务器在「设置 → 碧蓝航线助手」统一配置

🐦 啾信(AI 对话)

  • 与 AI 舰娘进行角色扮演对话
  • 支持多轮上下文、自定义人设
  • 在「设置 → 啾信配置」中配置 API Key

🎮 小游戏

  • 看图识舰娘:通过立绘辨认舰娘
  • 听音识舰娘:通过语音辨认舰娘
  • 答题得分系统,错题回顾

🎨 Live2D 模型浏览

  • 浏览社区 Live2D 资源
  • WebView 嵌入浏览,可放大查看
  • 浮窗互动体验

📱 现代化架构

  • MVVM 架构模式 + Clean Architecture 分层
  • Jetpack Compose 声明式 UI
  • Hilt 依赖注入
  • Kotlin Flow 响应式编程
  • Room 本地数据库 + DataStore 偏好存储
  • Media3 ExoPlayer 音频播放

⌚ 多端适配

  • 完整支持手机、平板、可折叠设备
  • 智能检测小屏设备(手表等)并自动缩放 UI

📸 截图预览

船坞界面 后宅界面 语音播放界面
船坞 后宅 语音

注:截图位于 docs/screenshots/ 目录;如截图与最新版本不一致,请提交 Issue 提醒更新。

🔧 环境要求

工具 版本要求
Android Studio Ladybug (2024.2.1) 或更高
JDK 17 或更高
Kotlin 1.9.0 或更高
Gradle 8.7+(项目自带 wrapper)
Android SDK minSdk 24 / targetSdk 35 / compileSdk 36
设备 Android 8.0 (API 26) 或更高

📥 安装

从源码构建

  1. 克隆仓库

    git clone https://github.com/oneroomlife/blyy.git
    cd blyy
  2. 打开项目

    • 使用 Android Studio 打开项目根目录
    • 等待 Gradle 同步完成
  3. 构建 APK

    # Debug 版本
    ./gradlew :app:assembleDebug
    
    # Release 版本(需自行配置签名)
    ./gradlew :app:assembleRelease
  4. 安装到设备

    adb install app/build/outputs/apk/debug/app-debug.apk

下载已发布版本

前往 Releases 页面下载最新版本的 APK。

提示:项目当前 versionName = 1.4.0,对应 versionCode = 1。发布前请同步修改 app/build.gradle.kts

📖 使用说明

碧蓝航线小助手

  1. 打开应用,从首页侧拉菜单进入 碧蓝航线助手
  2. 首次使用会提示「未配置查询参数」,点击 去设置
  3. 在「设置 → 碧蓝航线助手」中填入:
    • 默认 UID:游戏内玩家 UID
    • 默认服务器:服务器名称或 ID
  4. 返回助手页面,切换「查玩家」/「查建造」分区,点击对应查询按钮即可。
  5. UID/服务器集中存储在 DataStore 中,查询时自动读取,切换分区时各自结果独立保留。

啾信(AI 对话)

  1. 从侧拉菜单进入 啾信
  2. 首次使用会提示配置 API Key,点击 去设置
  3. 在「设置 → 啾信配置」填入 API Key 和模型参数。
  4. 返回啾信页面,选择舰娘人设开始对话。

切换主题

在「设置 → 界面风格」中开启/关闭 指挥中心 UI,即可在经典风格与 HUD 风格之间切换。

稍后播放队列

  1. 在语音列表页长按某条语音,选择 稍后播放 即可加入队列。
  2. 播放控制栏的 列表按钮 打开队列弹窗。
  3. 队列弹窗中支持:点击单项播放、播放全部、清空列表、移除单项。

Live2D 模型浏览

在侧拉菜单中点击 查看 Live2D 进入 L2D 浏览页面。

🏗️ 技术栈

核心技术

技术 版本 用途
Kotlin 1.9+ 主要开发语言
Jetpack Compose BOM 声明式 UI 框架
Material Design 3 - UI 设计系统
Hilt 2.59 依赖注入
Kotlin Flow - 响应式编程
Room 2.6+ 本地数据库
DataStore Preferences - 偏好设置存储
Media3 ExoPlayer 1.3+ 音频播放
OkHttp 4.x 网络请求
kotlinx.serialization 1.6+ JSON 序列化
Coil 2.6+ 图片加载
Jsoup 1.18+ HTML 解析
compose-shimmer 1.3+ 骨架屏动画

完整依赖与许可证信息见 docs/DEPENDENCIES.md

📁 项目结构

blyy/
├── app/                                # Android 应用模块
│   ├── build.gradle.kts                # 应用构建脚本
│   ├── lint-baseline.xml               # Lint 基线
│   ├── proguard-rules.pro              # R8/ProGuard 规则
│   └── src/main/
│       ├── AndroidManifest.xml         # 应用清单
│       ├── java/com/azurlane/blyy/
│       │   ├── MainActivity.kt         # 主入口(含侧拉菜单)
│       │   ├── data/                   # 数据层
│       │   │   ├── local/              # Room + DataStore
│       │   │   ├── model/              # 数据模型
│       │   │   └── repository/         # 数据仓库
│       │   ├── di/                     # Hilt 依赖注入
│       │   ├── service/                # Media3 PlaybackService
│       │   ├── ui/                     # 表现层
│       │   │   ├── components/         # 公共 UI 组件
│       │   │   ├── screens/            # 界面屏幕
│       │   │   └── theme/              # 主题与设计系统
│       │   └── viewmodel/              # ViewModel 层
│       └── res/                        # 资源(图片、字符串、主题)
├── docs/                               # 项目文档
│   ├── DEPENDENCIES.md                 # 依赖清单
│   └── screenshots/                    # 截图
├── .github/                            # GitHub 配置
│   ├── ISSUE_TEMPLATE/                 # Issue 模板
│   └── workflows/                      # CI 工作流
├── gradle/                             # Gradle Wrapper
│   ├── libs.versions.toml              # 版本目录
│   └── wrapper/
├── agent-skill-eval/                   # 技能评估(仅本地,不参与构建)
├── .gitignore                          # Git 忽略配置
├── build.gradle.kts                    # 根 Gradle 脚本
├── gradle.properties                   # Gradle 属性
├── gradlew / gradlew.bat               # Gradle Wrapper 脚本
├── settings.gradle.kts                 # 项目设置
├── README.md                           # 项目说明(本文档)
├── CODE_OF_CONDUCT.md                  # 行为准则
├── CONTRIBUTING.md                     # 贡献指南
├── LICENSE                             # GPL v3 许可证
└── SECURITY.md                         # 安全策略

🤝 贡献指南

我们欢迎所有形式的贡献!请阅读 CONTRIBUTING.md 了解详细流程。

提交流程

  1. Fork 项目 并克隆到本地
  2. 创建特性分支git checkout -b feature/amazing-feature
  3. 提交更改git commit -m 'feat: add amazing feature'
  4. 推送到分支git push origin feature/amazing-feature
  5. 创建 Pull Request

提交规范

本项目使用 Conventional Commits 规范:

前缀 用途
feat: 新增功能
fix: 修复 Bug
docs: 文档更新
style: 代码格式调整(不影响逻辑)
refactor: 代码重构(既不是新增功能,也不是修复 Bug)
perf: 性能优化
test: 测试相关
chore: 构建 / 工具链相关
ci: CI/CD 配置

格式:<type>(<scope>): <subject>,例如 feat(voice): add play later queue animation

代码规范

  • 遵循 Kotlin 官方编码规范
  • UI 代码严格遵守项目 设计系统
    • 颜色:AppColors
    • 间距:AppSpacing(8dp 网格)
    • 形状:BlyyShapes(切角矩形)
    • 动画:AppAnimation
  • 提交前请运行 ./gradlew :app:lint

📋 行为准则

请阅读并遵守 CODE_OF_CONDUCT.md,以确保为所有人提供友好、安全和受欢迎的环境。

🔒 安全策略

安全相关问题请参考 SECURITY.md,请勿在公开 Issue 中披露安全漏洞。

📄 许可证

本项目采用 GNU General Public License v3.0 许可证 — 详见 LICENSE 文件。

⚠️ 免责声明

本项目中使用的所有游戏资源(包括但不限于台词、立绘、语音、图片等)的版权归原游戏公司所有。

  • 本项目为非官方粉丝作品,仅供学习和个人娱乐使用
  • 所有游戏资源版权归 碧蓝航线(Azur Lane)及其运营公司所有
  • 游戏数据来源于 碧蓝航线 Wiki
  • 如有侵权,请通过 GitHub Issues 联系删除

本项目不提供任何游戏资源文件,所有资源均通过网络从公开渠道获取。

🙏 致谢

数据与资源来源

  • 📚 碧蓝航线 Wiki - 舰娘数据与立绘来源
  • 🎭 l2d.su - Live2D 模型资源平台。感谢 l2d.su 提供高质量的 Live2D 模型浏览服务,BLYY 的 Live2D 模块正是基于该网站构建。
  • 🎨 Material Design - 设计语言与组件规范
  • 🛠️ Jetpack Compose - 现代化的 Android UI 工具包

灵感与社区

  • 感谢所有为本项目提交 Issue、PR、Star 的贡献者
  • 感谢碧蓝航线玩家社区的反馈与建议

📮 联系方式


Made with ❤️ by BLYY Contributors
本项目为非官方粉丝作品,与上海蛮啾网络 / 哔哩哔哩游戏无关

About

碧蓝语音是一款专为碧蓝航线玩家设计的语音播放器应用,提供优雅的界面和流畅的用户体验。用户可以浏览舰娘列表、收藏喜爱的角色、播放各种语音台词,并享受精美的视觉效果。

Resources

Code of conduct

Contributing

Security policy

Stars

51 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages