阿B听书是一个基于 Flutter 的 Android 听书播放器:把 B 站当作有声书库,搜索、分类浏览有声小说、评书、相声、广播剧,点开即听。
- 🔓 免登录:不登录即可搜索、收听、收藏、记录进度;扫码登录仅用于同步昵称头像与提升搜索稳定性。
- 🚫 无广告:没有广告、没有会员、没有弹窗,打开就能听。
- 🎧 专注收听:分P连播、断点续播精确到秒、睡眠定时、后台播放与锁屏控制,为长时间听书优化。
- 📥 真能离线:选集批量缓存后后台下,通知栏看得见进度,中途退出也不丢、无网照听。
非官方项目,与哔哩哔哩无任何官方关联或背书;内容来自哔哩哔哩公开视频的音频轨道,应用本身不存储、不修改、不二次分发任何内容。
发现与搜索
- 分类浏览:热门推荐 / 广播剧 / 评书 / 相声 / 悬疑 / 玄幻仙侠 / 名著悦读
- 精选主播:单田芳、刘兰芳、郭德纲、周建龙、紫襟、王明军、光合积木、729声工场 等,一点直达 TA 的作品
- 搜索自动限定在「有声小说」范围,过滤解说、漫推、短视频等无关内容
- 搜索分「听书 / UP主」两个标签(搜索出结果后才出现,切换时先加载完再切换不闪屏):UP主标签可搜主播、关注后进入 TA 的主页只看他的投稿内容
- 书籍详情页点 UP 主名可直达 TA 的主页
- 搜索结果上拉分页加载,失败会提示并可一键重试
- 分类结果本地缓存,减少重复请求
播放
- 分P 即章节:自动连播、上/下一章、±15 秒快进退
- 倍速播放:0.5x / 0.75x / 1.0x / 1.25x / 1.5x / 1.75x / 2.0x / 2.25x / 2.5x / 2.75x / 3.0x 共 11 档预设,点一下即切换,自动记住上次的倍速
- 播完本集自动暂停:本集播完即停,不自动连下一集(可一键开关)
- 断点续播精确到秒(退到后台、切换章节、退出应用都会保存进度)
- 断流自动重连:长音频播放中断自动换备用线路重连并回到原位置,不再出现「莫名其妙停了」
- 章节列表:标题自带序号时不重复编号;已听章节打 ✓ 并置灰,支持正序/倒序
- 睡眠定时:预设 10/15/30/45/60 分钟、2 小时,也可自定义 1~720 分钟
- 音频焦点:来电或其它应用播放时自动暂停,打断结束后自动续播;拔耳机自动暂停;提示音只压低音量不打断
- 后台播放:前台服务 + 系统媒体会话,通知栏与锁屏可控制,暂停后通知不消失
离线缓存
- 详情页每集可单独缓存,播放页 / 详情页可勾选多集批量缓存
- 后台缓存:开始后可立刻离开页面,回桌面、切页面都不中断下载
- 通知栏进度:显示正在缓存的集名与百分比,全部完成后自动消失
- 断了能续:App 被系统回收或你手动划掉重进,下次启动自动接着下完剩余队列
- 失败可见可重试:某一集失败不会悄悄消失,会列出失败原因并支持一键重试
- 离线缓存管理(我的 → 离线缓存):按书分组、查看已缓存章节、单个/批量删除、可直接播放
- 缓存文件按作品原本的章节顺序展示(不是按缓存先后)
- 缓存保存在应用内部私有目录,与索引同分区,覆盖升级不丢
- 下载前预估所需空间,空间不足会提前提示而不是下到一半失败
其它
- 书架收藏、继续收听、最近收听(均显示整本书的进度百分比)
- 书架右上角续播角标:显示上次在听那本的圆形封面,点一下续播;正在播放时角标随封面旋转,点一下直接回到播放页
- 书架点一下直接续播进播放页;播放页点书名回到书籍详情
- 我的页面统计(书架 / 在听 / 已缓存 / 关注)可点击直达对应页面
- 关注的 UP 主(我的 → 关注的 UP 主)
- 关于页:官网、开源仓库、Issue 反馈、协议与免责声明入口
- 扫码登录(二维码可保存到相册)
- 外观模式:跟随系统 / 浅色 / 深色
- 后台留存保护(电池优化豁免引导)
- 检查更新:一键比对 GitHub Releases,有新版本直接提示下载
- 分享原作品链接
新增
- 书架右上角续播角标:以「上次在听」那本的圆形封面做底、叠加播放图标,点一下直接续播; 正在播放时角标换成当前播放封面并像唱片一样旋转(与底部悬浮条一致),此时点一下直接进播放页,不再重新加载
- 离线缓存体系
- 批量选集缓存,开始后可离开页面,下载在后台继续
- 通知栏实时显示缓存集名与百分比
- 未完成的队列落盘,App 被杀后重启自动续传
- 失败集单独列出原因并支持一键重试(不再静默丢弃)
- 缓存按作品原始章节顺序展示
- 离线与在线统一:无论从哪进,目录、上下章、断点续播、进度保存都是同一套逻辑; 没网时会自动退回已缓存的章节,发现页无网时会列出已缓存书籍
- 书架显示整本书的播放进度(不再是某一章的百分比),并显示每章收听进度
- 倍速 0.5x~3.0x 共 11 档预设(去掉滑块,点一下即切)
- ±15 秒快进退、播完本集自动暂停、已听章节 ✓ 标记
- UP 主搜索 / 关注 / 投稿合集与上拉分页
- 关于页与启动加载页
修复
- 点开就退会丢进度:刚起播时媒体时长还没解析出来,进度会被整条丢弃;现改用章节时长兜底
- 长音频断流自动重连,长书不再「莫名停止」
- B 站 412 风控阶梯退避与 buvid 预激活,游客态请求限速
- 缓存文件误删(两处):迁移改「复制→校验大小→删源」,且文件完好时不再因为播放打开失败就删缓存
- 批量缓存「少一集」:B 站返回空音频地址被当成成功,现改为重试并把失败暴露给用户
- 缓存条目顺序错乱:原按缓存先后展示,现按作品章节顺序
- 空间预检按 16kbps 低估 8 倍导致下到一半失败,改为按真实码率估算
- 缓存「已失效」误报:同一文件被两处代码判断出相反结论,已合并为单一判断入口
- 通知栏与系统媒体状态漂移、来电打断恢复、拔耳机暂停
- 首页/搜索/我的多处交互与跳转问题
| 书架(精确进度 / 继续收听) | 发现(分类 / 精选主播) | 我的(收藏 / 设置入口) |
|---|---|---|
![]() |
![]() |
![]() |
| 书籍详情(分P目录 / 已听置灰) | 播放(连播 / 睡眠定时入口) | 睡眠定时(自定义 1~720 分钟) |
![]() |
![]() |
![]() |
前往 Releases 下载 APK,安装即可(Android 7.0+,已签名、包名 dev.pages.abts,安装包彼此可覆盖升级)。
| 安装包 | 体积 | 适用设备 |
|---|---|---|
abts-v1.2.0-arm64-v8a.apk |
~26 MB | 绝大多数手机都选它(2017 年后的主流安卓机基本都是 arm64) |
abts-v1.2.0-armeabi-v7a.apk |
~23 MB | 较老的 32 位手机 / 低端设备(armv7) |
abts-v1.2.0-x86_64.apk |
~28 MB | x86_64 模拟器 / 平板 / 部分盒子 |
abts-v1.2.0-universal.apk |
~73 MB | 不确定 CPU 架构时选它,一个包兼容所有架构(体积最大) |
怎么确认架构:设置 → 我的设备 → 处理器型号;或用 CPU-Z / AIDA64 查看 ABI 一栏。
# 环境:Flutter 3.38.x(Dart 3.10+)、JDK 17、Android SDK
flutter pub get
flutter build apk --release # 通用包
flutter build apk --release --split-per-abi # 按架构分包(体积更小)
# 产物:build/app/outputs/flutter-apk/签名说明:若存在 android/key.properties 则用其中的证书签名,否则回退 debug 签名(便于他人直接构建)。配置格式:
storePassword=你的密码
keyPassword=你的密码
keyAlias=你的别名
storeFile=abitingshu.keystore # 相对 android/app/ 目录lib/
├── core/
│ ├── network/ # BiliClient(Cookie 预热 / WBI 签名 / 限速重试)、CookieJar、端点常量
│ ├── storage/ # 书架与进度、离线缓存(CacheStore:队列/对账/迁移)、关注、搜索历史
│ ├── theme/ # 主题与配色(跟随系统 / 浅色 / 深色)
│ └── nav/ # 底部 Tab 全局切换
├── data/ # 分类与精选主播种子数据
├── models/ # Book / Chapter / AudioTrack / UpUser
├── player/ # BookPlayer(连播、断点续播、睡眠定时、音频焦点)+ 系统媒体会话桥接
├── services/ # BiliApi 数据层、缓存通知桥、登录态、音频焦点、外链跳转、相册保存
├── pages/ # 书架 / 发现 / 搜索 / 详情 / 播放 / 离线缓存 / 我的 / 关于 / 登录 / 睡眠定时 …
└── widgets/ # 迷你播放条、书籍卡片、封面 …
android/app/src/main/kotlin/dev/pages/abts/MainActivity.kt # 音频焦点、电池优化、保存图片、缓存通知等原生通道
tool/ # 接口探针脚本(调试用,可独立 dart run)
- 本应用为第三方个人开发的播放工具,与哔哩哔哩官方无任何关联,不代表、也不受哔哩哔哩官方授权或认可。
- 应用内所有音频、封面、文字等内容均来自第三方平台的公开链接,版权归原作者及相关权利人所有。本应用不存储、不修改、不二次分发任何内容。
- 内容仅供个人学习、研究与试听交流使用,请勿用于任何商业用途;请勿下载、录制或传播相关内容。
- 请在试听后支持正版:如喜欢某部作品,建议前往官方平台购买、订阅或支持作者。
- 若权利人认为本应用侵犯其合法权益,请告知开发者,我们将在核实后及时处理(包括但不限于移除相关入口)。
- 因使用本应用产生的任何直接或间接后果,由使用者自行承担。
参考与借鉴了以下开源项目的思路:PiliPlus、biu、bbplayer、bili-music、BiliPai 等。






