一个运行在鸿蒙(HarmonyOS NEXT)手机上的 B 站音乐播放器。
当前访问频次受限,请登录后继续访问
BiliMusicHM
一个运行在鸿蒙(HarmonyOS NEXT)手机上的 B 站音乐播放器。它可以把 B 站视频当成「歌」来听:你给它一个视频链接或 BV 号,它会把视频里的声音抽出来播放,支持后台播放、锁屏/实况窗控制,还能同步你的 B 站收藏夹。
本软件是个人学习/自用作品,与哔哩哔哩官方无关。
它能做什么
- 🎵 当音乐播放:输入 B 站视频链接或 BV 号,直接播放视频的音频,不用看画面。
- ▶️ 完整播放控制:播放/暂停、上一首、下一首、随机播放、列表循环、倍速、拖动进度。
- 📃 播放列表:把你收藏或添加的视频排成歌单,切换歌曲时自动记住播放进度。
- ⭐ 歌曲源:登录后同步 B 站收藏夹一键导入成歌单;也能按 UID 查某位 UP 主的公开合集,把合集视频批量生成歌单。
- 🔐 登录 B 站:支持「B站一键登录」(直接拉起 B 站 App 确认,无需扫码)、扫码登录、手动粘贴 Cookie 三种方式。
- 🔔 后台与实况窗:锁屏、控制中心、实况窗里都能看到正在播放的歌,直接控制播放,也能拖动进度条。
- 🗂️ 下载与缓存:可把歌曲下载到本地离线播放、批量管理;临时播放缓存也会保留,下次播放更快,可一键清空。
- ✨ 沉浸光感界面:播放时封面颜色透出、笼罩整个界面并随歌渐变;按钮半透明毛玻璃、进度条沉浸材质、文字智能反色,视觉随设备算力自适应。
- 🎨 深浅色主题:跟随系统 / 浅色 / 深色 三种外观,设置页一键切换,全局即时生效。
界面一览
应用底部有四个页签:
| 页签 | 作用 |
|---|---|
| 播放 | 正在播放的歌曲大图、进度、控制按钮 |
| 播放列表 | 管理当前歌单,添加/移除歌曲 |
| 歌曲源 | 个人收藏夹 / UP主合集 / 下载内容三个来源,可生成歌单或管理下载 |
| 设置 | 登录、外观(深浅色)、缓存清理等 |
技术栈
- 语言/框架:ArkTS(HarmonyOS 的 TypeScript 方言)+ ArkUI 声明式 UI
- 音频播放:
@kit.AVSessionKit媒体会话 + AVPlayer - 空间化 UI:
@kit.UIDesignKit(HDS 页签 + 沉浸光感材质 + 点光源液态动效) - 后台能力:后台持续任务(音频播放模式)
- 数据存储:
preferences轻量存储 + 本地 JSON 文件
运行环境
要编译、运行这个项目,你需要:
- 一台电脑,装好 DevEco Studio(HarmonyOS NEXT 版本)
- 一台 HarmonyOS NEXT(API 26 及以上) 的手机,或 DevEco Studio 自带的模拟器
- 手机和电脑连接(用数据线或无线调试)
怎么运行
- 把整个项目文件夹下载到本地。
- 打开 DevEco Studio,选择「打开项目」,选中本项目根目录。
- 等 IDE 自动加载依赖(
oh_modules)。 - 用数据线连接手机并开启开发者模式/USB 调试,或在 IDE 里启动模拟器。
- 点击工具栏的「运行 ▶」按钮,选择你的手机或模拟器,等待编译并安装。
怎么用
- 打开 App,在「播放」页或「播放列表」页粘贴一个 B 站视频链接(或 BV 号)。
- 它会自动解析并开始播放音频。
- 如果想同步收藏夹,去「设置」页登录 B 站账号(支持「B站一键登录」或扫码登录)。
- 锁屏后,可以在锁屏界面或实况窗里继续控制播放。
更新说明
- v1.0.2:新增「搜索」,可在播放列表页直接检索歌单里的歌(按歌名/UP主本地匹配,零网络请求);新增「播放历史」,记录听过的歌、可一键回放与清空;新增「与其他媒体同时播放」开关,可让本应用与别的 App 一起出声,或独占音频。
- 搜索入口从「歌曲源」移到「播放列表」,就近搜索当前歌单。
- 播放列表条目升级为富列表:左侧封面、右侧标题 + 来源标识 + 「UP主 · 时长」,与播放历史排版保持一致。
- 点「清播放缓存」后会提示本次清掉了多少缓存(如「已清除 12.3 MB」)。
- v1.0.1:新增「后台打断续播」与「省流量模式」两个设置开关;「下载设置」新增「优先低码率音频流」「仅 Wi-Fi 下自动下载」两个省流量开关;播放页新增「定时关闭」,可选 15/30/60 分钟或自定义时长,到时自动暂停播放并提醒。
- v1.0.0:修复:深色模式下部分文字误显示为浅色文字的问题,文字颜色改为随主题深浅自动切换。
- 「同步」升级:现在一次对齐「个人收藏夹」和「UP主合集」两个来源,新增新视频、清理已失效的。
- 新增「下载内容」:可把歌曲下载到本地离线播放,支持批量勾选管理、逐首删除。
- 新增「UP主合集」来源:歌曲源页输入 UP 主 UID 即可查看其公开合集并生成歌单。
- 歌曲源与播放列表统一「多选」交互:全选/取消全选、批量操作、返回一键退出。
- 取消收藏历史入口移到设置页。
- 新增 深浅色主题:设置页「外观」可选 跟随系统 / 浅色 / 深色,全应用配色即时切换,状态栏图标同步适配。
- 登录体验升级:新增「B站一键登录」,直接拉起 B 站 App 确认登录、跳过扫码;扫码登录支持将二维码保存到相册备用。
- 优化设置页布局:登录、缓存、播放、外观等设置项自上而下紧凑排列、整体靠上。
- 视觉升级:封面模糊背景随歌渐变、按钮半透明毛玻璃、文字随主题智能反色。
- 背景模糊按页面分层:播放页保持较清晰的弱模糊,播放列表/收藏夹/设置页更模糊,切换页签时平滑过渡。
- 歌曲简介弹窗改为半透明毛玻璃,深浅色模式自动适配。
项目结构(给想了解代码的人)
BiliMusic
├── AppScope/ # 应用级配置(包名、版本、图标)
├── entry/ # 主模块(所有代码都在这里)
│ └── src/main/
│ ├── ets/
│ │ ├── entryability/ # 应用入口
│ │ ├── pages/ # 各页面(播放、列表、收藏夹、设置)
│ │ ├── service/ # 核心服务(音频播放、B站接口、媒体会话、存储)
│ │ ├── model/ # 数据模型
│ │ └── component/ # 通用组件
│ └── resources/ # 图标、文案等资源
├── build-profile.json5 # 构建/签名配置
└── oh-package.json5 # 依赖声明
常见问题
- 为什么不能登录/加载不出内容? 本软件调用的是 B 站接口,需要能正常联网;部分接口可能因 B 站策略调整而失效。
- 音频听不了? 确认手机已联网,且视频本身有可播放的音频。
- 这不是官方 App,可能违反 B 站部分条款,请仅用于个人学习,勿用于商业用途。
免责声明
本项目仅用于个人学习与自用,与哔哩哔哩无关。请勿将其用于任何商业或违规用途,相关风险由使用者自行承担。
签名配置说明
本仓库不包含任何签名凭据(证书、口令、签名材料)。要编译运行:
- 本地调试:直接使用 DevEco Studio 的自动 debug 签名即可,无需手动配置。
- 自定义签名:参考
build-profile.json5.example,复制为build-profile.json5并填入你自己的签名材料;切勿把真实密码或证书提交到仓库。
贡献指引
欢迎提交 Issue 或 Pull Request。提交前请注意:
- 提交代码时会经过敏感信息扫描(pre-commit 钩子会拦截误提交的 Cookie、签名口令、访问令牌等敏感值)。
- 不要在 Issue 或 PR 中粘贴真实 Cookie 或签名口令。
License
本项目采用 Apache License 2.0 开源许可证。