项目地址: https://github.com/Hyper-Beast/BiliTVNative
BiliTVNative
BiliTVNative 是一个面向 Android TV 的原生 B 站客户端实验项目,使用 Kotlin 、Jetpack Compose 、Compose for TV 和 Media3 重写电视端观看体验。
项目重点不是做一个极简壳,而是在电视设备上尽量平衡几个实际问题:播放稳定性、遥控器焦点可控性、弹幕性能、主页视觉质感,以及不同硬件档位下的流畅度。
直播暂缓,不在当前版本范围内。
截图
主要功能
UI 与视觉
应用提供 4 种主页主题:
视觉性能模式分为 3 档:
Android 13 及以上设备可以在高级档中单独开启实验液态玻璃控件。开启后,侧边栏、首页分区胶囊、视频卡片、设置行和播放器控制面板会使用真实液态玻璃表面;关闭或不支持时自动回落到自绘半透明玻璃、边框和高光。
主页主题只作用于主页、搜索、动态、历史、设置、侧边栏和标签栏。播放器继续使用独立稳定配色,避免主题化影响播放性能和兼容性;播放器控制、面板和弹窗会按视觉性能策略使用液态玻璃或 fallback 表面。
播放器体验
播放器使用系统硬解优先的 Media3 ExoPlayer ,并保留 SurfaceView 路径以优先保证兼容性和性能。
播放器 UI 包括:
弹幕层由原生 DanmakuView 承载,弹幕 XML 解码和解析放在后台线程,应用层不使用固定 delay 驱动弹幕重绘。
设置分组
设置页按使用语义分成三组:
首页分区开关独立显示在右侧,至少保留一个分区。
技术栈
[td]名称[/td]
[td]用途[/td]
[td]链接[/td]
Kotlin
主要开发语言
https://kotlinlang.org/
Gradle / Android Gradle Plugin
构建系统
https://gradle.org/
AndroidX / Jetpack
Android 基础库、Activity 、Lifecycle 、DataStore 等
https://developer.android.com/jetpack/androidx
Jetpack Compose
声明式 UI
https://developer.android.com/develop/ui/compose
Compose for TV
TV UI 和遥控器焦点基础能力
https://developer.android.com/develop/ui/compose/tv
Media3
ExoPlayer 播放器和 DASH 播放
https://developer.android.com/media/media3
OkHttp
HTTP 、WebSocket 、播放数据源请求
https://square.github.io/okhttp/
Coil
图片加载
https://coil-kt.github.io/coil/
Kotlin Coroutines
异步任务
https://github.com/Kotlin/kotlinx.coroutines
kotlinx.serialization
JSON 解析
https://github.com/Kotlin/kotlinx.serialization
DanmakuRenderEngine
原生弹幕渲染
https://github.com/bytedance/DanmakuRenderEngine
OpenCC4J
简繁转换
https://github.com/houbb/opencc4j
AndroidLiquidGlass / Backdrop
Android 13+ 实验液态玻璃控件
https://github.com/Kyant0/AndroidLiquidGlass
ZXing
二维码生成
https://github.com/zxing/zxing
第三方库遵循其各自许可证。
开发说明
本项目全部由 AI 辅助完成。根目录文档用于保留上下文和约束:
继续开发时建议按小步修改、编译、安装、实机验证的节奏推进,不要一次性重写大模块。播放器、弹幕、焦点路径和液态玻璃开关尤其需要同时考虑性能档位和电视端遥控器操作。
免责声明
本项目不是哔哩哔哩官方项目,也不与哔哩哔哩存在任何官方关联。
项目只作为个人学习、研究和自用客户端实现参考。使用者需要自行承担账号、接口、播放兼容性和后续维护风险。
License
本项目代码使用 MIT License 。详见 LICENSE。

