惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
云风的 BLOG
云风的 BLOG
小众软件
小众软件
V
V2EX
博客园 - Franky
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
量子位
博客园 - 【当耐特】
雷峰网
雷峰网
WordPress大学
WordPress大学
Jina AI
Jina AI
Google DeepMind News
Google DeepMind News
N
Netflix TechBlog - Medium
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
Visual Studio Blog
Microsoft Security Blog
Microsoft Security Blog

分享创造

分享 KCase 脑图测试用例生成平台(AI 辅助生成测试用例) 标签页囤积症自救:写了个插件 TabRack,主打快速检索、自动分类和 AI 摘要 [file-preview]一个比较全面的在线文件预览组件库-支持 react 和 vue 撸了个 iOS 小应用[极简水印相机],直接免费 做了一个 V2EX Skill 写了个 iOS 打码 App「遮鸭 Maskduck」,纯离线免费 35 岁前端,裁员失业后,我花 1 个月做了个 AI 生图网站 亲身经历猫咪急症,我做了一款猫狗疼痛检测工具,希望能救你家毛孩一命 如何用 AI 做比较酷炫的落地页? 求真!最近 AI 生图的能力强到可怕 开源一个查看 k8s 的菜单栏工具-kubebar Packpour:我做了个专门给 App Store Connect 填多语言元数据的小工具 面对 140 年一遇的超级厄尔尼诺,我做了个全球监测小站 做了一个自动翻译的 Hacker News 客户端 做了一个 AI 头像生成器,可以免费生成 2 次 [送码 50 个] 自己手搓了个高颜值的倒数日 App——拾光机,求 V 友们指点 一个将苹果健康 APP 数据导出的工具,然后把你的数据喂给 AI 分析 我做了一个叫「订阅斩」的 iOS App,专门对付那些悄悄扣钱的订阅 做了个草率的日麻互动漫画,听听反馈 喜欢自己洗车的朋友们,我用 ai 做了一款洗车小程序 -- 洗车志 感谢 V2EX 上各位 NAS🍆 和 Datahoarder 玩家的关注和真实反馈!作为个人开发者,能得到这么多硬核玩家们的讨论,我非常荣幸。 用 AI 开发熊孩子自律的小程序 用 OpenClaw 搭建个人运动助手 今天摸鱼给 NanaAI 也接入了 GPT-Image-2 [Video Companion]一个 chrome 插件,解决大多对视频操作的需求~欢迎使用提 bug AI 时代,做产品简单了,把产品推广出去却变的更难了~ bestskills.dev - Skills 精选和评测站点 免 ROOT 强力卸载安卓广告软件 一个 All In One 的运维工具,支持 SSH、数据库、Redis 管理 [开源] Codeg V0.10:专注于代码生成的多智能体 IDE(cc、codex、gemini、opencode……),新版本重构了工作区,飞一般的体验,支持桌面端、服务器部署
纯 AI 开发了个哔哩哔哩 TV 版客户端
metalmax · 2026-05-10 · via 分享创造

对原来的 flutter 版本不满意才重新让 AI 搞了这个原生版本的,偷懒直接抄下 GitHub 上由 AI 写的介绍

项目地址: https://github.com/Hyper-Beast/BiliTVNative

BiliTVNative

BiliTVNative 是一个面向 Android TV 的原生 B 站客户端实验项目,使用 Kotlin 、Jetpack Compose 、Compose for TV 和 Media3 重写电视端观看体验。

项目重点不是做一个极简壳,而是在电视设备上尽量平衡几个实际问题:播放稳定性、遥控器焦点可控性、弹幕性能、主页视觉质感,以及不同硬件档位下的流畅度。

直播暂缓,不在当前版本范围内。

截图

image image image image image image image

主要功能

  • 首页推荐、热门、分区内容流。
  • 搜索键盘、搜索建议、搜索历史、搜索结果排序和分页。
  • 动态、历史记录和账号二维码登录。
  • Media3 点播播放器,支持 DASH 播放、进度保存和返回焦点恢复。
  • 默认画质、解码器偏好、倍速、弹幕、快进预览雪碧图。
  • 字节跳动 DanmakuRenderEngine 原生弹幕渲染,避免把高频弹幕做成 Compose 节点。
  • 空降助手,支持跳过片段提示并在进度条上标出跳过范围。
  • 自动播放下一集、自动播放相关推荐、播放完成后自动退出。
  • 播放退出二次确认、应用退出二次确认。
  • 简体中文、香港繁体、台湾繁体界面和动态标题转换。
  • Android TV launcher 图标和 TV 横幅。

UI 与视觉

应用提供 4 种主页主题:

  • 默认粉
  • 深黑
  • 高级灰
  • 蓝灰

视觉性能模式分为 3 档:

  • 流畅:面向低端电视,关闭重动画、流光、阴影、封面预取和图片内存缓存,缩略图使用较低尺寸与 RGB_565 。
  • 标准:默认推荐档,保留主题色、仿玻璃表面、轻缩放、边框、文字颜色过渡、封面轻提亮和平滑滚动。
  • 高级:手动开启的高视觉档,增加更强玻璃氛围、环境高光、更高质量缩略图、主题色斜向流光、液态玻璃感边缘、卡片轻微放大和上浮。

Android 13 及以上设备可以在高级档中单独开启实验液态玻璃控件。开启后,侧边栏、首页分区胶囊、视频卡片、设置行和播放器控制面板会使用真实液态玻璃表面;关闭或不支持时自动回落到自绘半透明玻璃、边框和高光。

主页主题只作用于主页、搜索、动态、历史、设置、侧边栏和标签栏。播放器继续使用独立稳定配色,避免主题化影响播放性能和兼容性;播放器控制、面板和弹窗会按视觉性能策略使用液态玻璃或 fallback 表面。

播放器体验

播放器使用系统硬解优先的 Media3 ExoPlayer ,并保留 SurfaceView 路径以优先保证兼容性和性能。

播放器 UI 包括:

  • 顶部标题、UP 、发布时间、播放量、当前时间。
  • 底部大进度条、控制按钮、画质和弹幕状态。
  • 控制层隐藏时的迷你进度条,可在设置中关闭,默认开启。
  • 右侧设置、选集、UP 主更多视频、相关推荐面板。
  • 画质、弹幕、倍速子面板,长列表使用滚动而不是压缩字号。
  • 推荐视频和发布者更多视频使用更宽面板和更大封面,播放数、弹幕数、时长贴近主页卡片展示,避免小时级时长和万级弹幕数挤在一起。
  • 进入和退出播放使用短黑屏遮罩过渡,避免 Surface 切换时出现闪烁。

弹幕层由原生 DanmakuView 承载,弹幕 XML 解码和解析放在后台线程,应用层不使用固定 delay 驱动弹幕重绘。

设置分组

设置页按使用语义分成三组:

  • 播放设置:默认画质、解码器、快进预览、空降助手、退出确认、自动连播、自动推荐、播放完成退出、显示时间、迷你进度条。
  • UI/UX:效果档位、液态玻璃、主页主题、切换时自动确认、切换时自动刷新。
  • 系统设置:清理缓存、语言。

首页分区开关独立显示在右侧,至少保留一个分区。

技术栈

名称 用途 链接
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