v0.2.9 (2026-10-05)
[更改] 合入社区贡献 PR #870(@CoderTCY)的视频页增强,下文投票/评分/BAS 高级弹幕、播放底栏与评论相关条目均来自该 PR
[添加] 蓝雪女仆品牌动效抽离为独立 brand-motion 共享模块,统一管理角色资源与打包校验脚本;安装包内不再内嵌静态占位图
[添加] 播放会话增强:新增播放失败原因分类(网络、解码、音频、鉴权、限制、源)与恢复阶段上报,支持音轨列表与音质、音轨语言选择
[添加] 离线播放错误策略:离线视频播放失败时按原因给出可操作的恢复建议
[更改] 聊天消息时间线、动态多账号缓存、首页加载序列等逻辑抽为独立策略类并补充单元测试
[修复] 播放器错误恢复策略与播放页状态同步问题;避免离线播放器重复加载
[修复] 投票卡片不再为底部播放栏预留安全区(对齐官方客户端实现):卡片按整个视频视口定位与限高,不再被压短后只能内部滚动、截断末尾选项与状态行。
[优化] 投票卡片投票后展示各选项实时占比并高亮自己的选择(对齐官方客户端,移除底部“✓ 已投票”文字提示),提交中保持“投票提交中…”提示;选中项改用当前配色的浅色容器(蓝色配色即浅蓝,primaryContainer + onPrimaryContainer 文字),未选中项保持半透明白,高亮对比明显。
[优化] 收紧播放底栏下方与左右留白:手机档底栏底部间距 8→4dp、左右间距 12→6dp,进度条触摸容器高度 20→12dp(平板/超宽档同步收紧);全屏进度条与分P分段条的左右内缩改为跟随底栏留白,互动卡片避让尺寸同步更新。
[调整] 普通视频、番剧、离线视频及直播弹幕统一按系统显示密度换算字号与描边,不再跟随应用内界面缩放或显示大小微调;内嵌/竖屏基础字号为 15dp,全屏为 18dp,保留用户字号倍率与服务端字号等级,移除竖屏沉浸播放器额外的 1.18 倍字号放大。描边粗细改以 dp 设置,默认 1.5dp;全屏切换重新测量已保留弹幕,不因字号分档清空时间线。
[修复] 互动卡片(投票、评分、三连、UP/链接)拦截整卡点击,不再穿透到播放器的单击/双击手势:在卡片上点按不再误唤出控制栏,在卡片上双击不再误触发播放/暂停导致进度条停住;卡片自身的选项、星位与关闭按钮仍照常响应。
[优化] 底栏“字幕/更多”等文字按钮的上下 padding 统一为 2dp,不再随窗口宽度分档;时间、音质、画质、倍速等单行文字显式收紧行高,减少上下留白,保持字号、图标与卡片定位不变。
[优化] 底部播放栏收紧播放、弹幕及全屏图标、时间与操作文字字号、输入区行高和底部间距;音质按钮不再强制撑到 48dp,局部图标按钮按播放槽位测量,保留原生触摸扩展。互动卡片安全区同步采用收紧后的播放栏尺寸。
[修复] 卡片定位安全区遵循实际进度条位置:内嵌播放器的贴底进度条不再额外扣除默认底部 padding,避免卡片被多余空白上推。
[修复] 互动卡片定位永久排除底部控制栏安全区域,控制栏隐藏时仍保留同一范围;服务端右下角坐标映射到安全区域右下角,黑边仅扣除实际相交部分。全屏导航栏采用不受显隐影响的安全区,避免控制栏显隐时卡片位移。
[修复] 投票和评分卡片主体分别固定为 130dp 与 180dp,关闭按钮另留 14dp;全屏不再按播放器宽度拉长,仅在窄视口放不下时收缩。
[修复] 投票与评分卡片采用服务端 duration,不再统一延长到 8 秒,避免评分卡片残留到后续三连卡片出现时造成重叠;显示窗口采用左闭右开边界,到结束时刻立即退出,暂停和回拖均按当前播放进度计算。
[优化] 三连弹幕补齐官方客户端风格的“仅三连”和“三连加关注”卡片:半透明黑色横条、白色点赞与收藏图标、实心币图标和独立粉色关注按钮,移除三连卡片的额外关闭按钮及原生按钮高度占位。三连与关注分别触发操作,已关注时三连仍可使用,大字号关注文字保持可见。
[修复] 关注与三连弹幕采用服务端 duration 和 posX_2/posY_2 百分比坐标,并在播放器视口内保留边距、裁限位置;兼容旧坐标字段,避免参考视频 00:24 的卡片被固定 3 秒时长提前隐藏。
[添加] 评分弹幕按官方客户端截图展示未评分与结果态:横向半透明黑底卡片、白色空心星、真实参与人数,评分确认后显示金色星与黄色平均分,关闭按钮位于卡片外侧。参与人数、平均分与既有个人评分读取弹幕元数据中的 count、avg_score、mid_score;提交成功后重新查询统计,不以个人评分推算平均分。
[修复] 真实投票弹幕正确解析 idx/desc 选项及 my_vote,提交使用服务端的一基选项编号而非数组下标;缺少选项时在卡片内查询投票详情,选项、加载、重试及提交均不再跳转外部窗口。评分与投票仅在提交成功后锁定选择,失败或取消后可重试。
[优化] 普通投票弹幕按官方客户端截图改为播放器右侧的紧凑半透明黑色卡片:直接显示问题,选项使用左对齐灰色小圆角条目,圆圈关闭按钮悬在卡片右上方;卡片使用固定宽度并受播放视口上限约束,所有选项与交互均嵌入卡片。
[优化] 特殊卡片弹幕取消关注、三连、关闭、投票和评分控件的强制 48dp 布局占位;通用关闭按钮使用 32dp 图标槽,投票与评分控件使用紧凑内容尺寸,同步收紧卡片宽度与关闭按钮预留区。Material 3 最小布局占位仅在卡片内关闭,保留原生触摸扩展,不影响全局按钮。
[修复] 暂停视频后隐藏播放器时,下拉评论优先恢复视频画面;播放器隐藏或尚未完全展开时禁用下拉刷新,完全显示后再允许刷新。MIUIX 与 Material 3 均保留列表状态,避免刷新和播放器恢复争抢同一次手势。
[添加] 普通视频手机详情页在暂停时支持上滑评论或楼中楼列表隐藏视频画面;下滑回到评论顶部、点击回顶、恢复播放或离开评论后可恢复播放器。此交互不受播放时的滚动缩小模式限制,恢复画面不会自动继续手动暂停的视频。
[优化] 一级评论与楼中楼取消正文到回复按钮、回复按钮到条目底部的重复留白,仅保留回复按钮自身 32dp 最小高度提供的间距;操作栏点踩与删除按钮改用固定 32dp 高度容器,避免 Material 最小触摸目标把操作栏撑高。
[修复] 一级评论与评论图片预览不再无条件显示绝对时间,统一遵循“详细评论时间显示”开关:关闭时按相对时间规则显示,开启时显示 yyyy-MM-dd HH:mm:ss。保存评论图片仍始终保留秒级完整发布时间。
[添加] 原生 Mode 9 BAS 脚本解析与动画时间线,支持文本、按钮、SVG 路径、模板、对象复制、嵌套串并行动画、属性缓动、父子层级和任意进度恢复;与 Mode 7 数组高级弹幕独立分流
[添加] 普通视频播放器接入 BAS 原生 Canvas 覆盖层,支持字体、描边、锚点、三轴旋转及交互按钮;seek 在播放器内执行,视频与番剧跳转通过外部浏览器保留分 P 和时间参数
[修复] 无效 BAS 脚本不再作为普通滚动文字显示;特殊弹幕开关、颜色/权重/关键词/用户屏蔽和插件处理覆盖 BAS,关键词包含动画后续显示的文本
[优化] 特殊弹幕改为小体积字节/时间索引与短播放窗口加载;仅保留当前仍有效及未来 3 秒的场景,分片索引逐个就绪即可使用,窗口请求最多 4 个并行;不再把整段视频的特殊分片留在内存或写入在线播放缓存
[优化] 冷跳转复用已知生命周期,仅对此前未知的 BAS 编译时长元数据并丢弃过期载荷;本地特殊弹幕随机读取,用户主动离线下载按分片流式写入文件,不再先拼出全量字节列表
[修复] SVG 路径的 alpha 属性与零时长透明度切换正确参与时间线,避免多帧路径提前叠加显示
[修复] BAS 数字词法改为直接扫描,避免 Android ICU 正则匹配每个数字时复制完整大脚本到原生堆,导致低内存杀进程;保留小数、科学计数、复合时间与错误位置语义