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

推荐订阅源

博客园 - 聂微东
Y
Y Combinator Blog
WordPress大学
WordPress大学
L
LangChain Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
A
About on SuperTechFans
小众软件
小众软件
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
宝玉的分享
宝玉的分享
Recent Announcements
Recent Announcements
GbyAI
GbyAI
I
InfoQ
The GitHub Blog
The GitHub Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
C
Check Point Blog
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
量子位
雷峰网
雷峰网
Hugging Face - Blog
Hugging Face - Blog

V2EX

我用 AI 写代码,但终端管理反而成了累赘——于是我做了 codux [调研] 各位在公司都用什么 ide 和 agent 写代码? 老运维 share 一个运维平台 看到有公司考核 token 指标,很好奇大家上个月的 AI 账单是多少 GLM-Coding 调用持续报错: z.ai 的 Lite 套餐几乎无法使用,官方 Pro/Max 是否稳定? 现在还有什么渠道可以稳定安全地使用 Claude 吗? 上海漕河泾内推,本组有 2 个 hc,一个后端,一个前端,预算都是 20k 左右,不打卡,氛围好 如果 V2EX 上有一组不永久保存聊天记录(比如只保存 7 天或者 24 小时)的聊天室,那么会开启哪些有用或者有趣的可能? gemini cli 貌似挂了,一直返回 403 第一次在自媒体上赚到钱 收集了最近在使用的低价 GPT, Gemini,邮箱等 AI 会员的小店合集 讨论个大实话:现在企业还在说 AI 编程提效 20%, 30%的,真的太落后,没用懂 AI。因为包括很多前沿公司,已经狂奔到提效 200%-500%的情况 [招聘][远程][币安] 前端/后端/QA/iOS/Android 至少 3 年以上经验 目前有大量 HC 欢迎投递 Chatgpt Pro 用量用不完的可以开这些设置 面试的时候好像遇到钓鱼了,给各位避个坑 cursor 年续费 22 号到期, 自动续费是否还是老的计次套餐呢 被两件破事毁掉的一下午,琐碎的内耗消磨人的精力 使用 Planet 存储 Codex 的会话或者重要信息 如果业务部门领导不要你开发功能,而是要求你教会它用 claude code 开发功能,你会怎么做? 分享一个 MacOS 接绿联 CM818 USB 转 DP 转接器使用感受 我的 HR 朋友 10 年老 Java ,非全大专,大家帮忙看看简历 开源了一个 AI 口语练习工具,音素级发音评分,完全免费可自部署 V2EX 上有哪些你觉得很有趣、印象深刻的妹纸? 字节为啥不出个国内版 Vercel? 有在大马的朋友吗? 问个运营商问题 你们在有领导的公司大群发过的最大胆的消息是什么 公司裁员,目前没有工作。想试试摆摊,做一个移动鲜啤打酒车 我的硬盘 Memblaze Pblaze 5 Linux 下不识别,给 Linux 内核提交了补丁, AI 说有望被合并 只有我一个人觉得 codex 不好用?
纯 AI 开发了个哔哩哔哩 TV 版客户端
metalmax · 2026-05-10 · via V2EX

对原来的 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