新功能
媒体库综合排序与 NEW 角标 (#909)
媒体库新增「综合排序」并设为默认:有新内容的番剧优先显示,其余按最近观看时间自然排列。新番剧或有新集数的番剧,卡片右上角会显示红色 NEW 角标,进入番剧详情后自动消除。综合排序规则取「点开详情时间」与「NEW 首次发现时间」的较新者,新内容置顶后随时间自然下沉(优化详见 #917)。
主页顶部推荐区独立开关 + 启动时自动智能刷新 (#912)
外观设置中新增三个独立开关,可分别控制主页顶部的大图轮播、右上小卡片和右下小卡片;全部关闭时不留空白。App 启动后会自动执行一次智能刷新(延迟 2 秒,无变化时无额外开销)。
截图与 GIF 截取弹窗 (#915)
播放器新增统一的画面截取弹窗,分「图片截取」和「GIF 截取」两个选项卡。图片截取支持当前画面预览、选择是否合成弹幕与字幕、截图时临时关闭字幕轨并在完成后恢复;iOS 端提供「保存到相册」和「保存到文件」两个操作。GIF 截取支持设置时间范围、输出尺寸、帧率和质量,并可预览、复制到剪贴板或导出文件。GIF 导出不依赖当前播放器内核,使用 libmpv、MDK 等内核时同样可调用 Erika 导出,且不会中断当前播放。桌面端也新增了截图按钮入口。WebDAV 和 SMB 私有地址会在导出或分享前自动解析为实际播放地址。后续修复了 iOS 上「导出动图文件」无效、「保存到文件」写入不可访问目录以及 GIF 菜单文本框无法唤起输入法的问题(#941)。
Erika 多平台原生 GIF 导出 (#925)
GIF 导出能力扩展至 Android、iOS、tvOS、Windows 和 OpenHarmony,不再仅限于 macOS。即使当前使用 libmpv 等其他播放器内核,也可通过独立 Erika 工具模块执行导出。
弹弹play 网关主/备服务器自动选择 (#919)
新增国内备用网关,客户端根据用户出口 IP 归属地自动在香港主服务器与国内备用服务器之间切换,判定结果缓存 6 小时。同一线路连续失败 3 次后自动由备用线路临时接管 5 分钟。网络设置中新增「自动选择(推荐)/ 香港服务器 / 国内服务器 / 自定义」下拉菜单,并显示当前实际生效的线路。实测国内网络下弹幕与番剧信息加载速度大幅提升。
外挂字幕调色盘与字幕颜色输入优化 (#927)
字幕颜色输入改为点击弹出独立对话框,支持 HSV 三滑块(色相/饱和度/亮度)全色调色盘与 Hex 输入双向同步,解决了横屏播放器中键盘弹出后输入框被遮挡的问题。外挂字幕支持长按弹出独立设置面板,可独立设置颜色和字体,不影响内嵌字幕轨的设置。
截图黑边裁剪、长按截图弹窗与画面比例模式 (#928)
截图新增裁剪黑边开关,按视频实际宽高比裁去画面外的黑边区域。截图按钮支持单击直拍、长按弹出设置(格式/质量、弹幕/字幕合成、裁剪黑边等)。存储设置页新增截图质量档位(低/普通/高/超高)。播放器控制栏新增画面比例按钮,提供适应、填充、拉伸及 16:9、4:3 等共 9 种比例模式,设置持久化保存。
实验性新版媒体信息页面 (#934)
提供仿流媒体平台风格的沉浸式媒体信息页面,可在实验室中开启,横竖屏设备均适用。手机端竖屏时海报占页面上半部分,下方使用动态取色渐变填充。支持在「更多」菜单中填写自定义背景图片 URL,数据参与备份与同步。有已观看记录的剧集显示绿色勾选标记,无资源文件的剧集在剧集栏和选集弹窗显示灰色感叹号提示。新增基于像素颜色丰富度的智能海报裁切,确保背景海报和首页推荐栏能展示画面主体。仅本地媒体显示可确认的视频时长,远程媒体不再展示不可靠的时长。
通用链接解析与启动命令扩展 (#942)
为网页媒体源提供通用插件解析接口,支持分集选择与播放结果协议,历史记录保留可重新解析的页面地址。媒体转发移至独立 isolate,避免界面线程阻塞时中断播放器数据供给,并支持 Range/HEAD 请求及及时取消废弃连接。
Bug 修复
共享媒体库连接失败重试与 Fluent 图标字体加载修复 (#914)
修复 Android TV 通过局域网连接共享媒体库时,首次加载失败后再次选择同一主机不会重新加载、自动刷新持续暂停的问题。失败后现按 1、2、4、8、16、30 秒退避重试,之后每 30 秒重试,成功后停止并重置间隔。重新选择当前主机可立即刷新。同时修复个人中心 Fluent UI 图标字体加载失败后无法恢复的问题,新增显式注册和失败后的重试入口。
媒体库「最近点开」排序重启后失效 (#926)
修复媒体库按「最近点开」排序时,切换标签、进入库管理后返回或重启应用后排序还原的问题。点开时间现在按数据源持久化保存,页面重建时自动恢复。
修复本地扫描完成后媒体库不自动刷新、需重启才能看到新内容的问题。媒体库管理页点击「智能刷新」后也会即时更新列表。
从详情页返回后海报短暂变灰重载 (包含于 #934)
修复从番剧详情页返回媒体库后,综合排序变化导致多张海报短暂变灰并重新加载的问题;桌面、手机和电视布局现在均按媒体来源与番剧 ID 保留稳定的海报元素。
WebDAV/SMB 含 @ 符号账密导致媒体加载失败 (包含于 #934)
修复 WebDAV 和 SMB 私有协议解析时,账号或密码中含 @ 符号导致编解码错误、媒体无法加载的问题。
切换 Bangumi API 地址后旧缓存持续加载失败 (包含于 #927)
修复切换 Bangumi API 自定义地址后,旧域名图片与详情缓存未清除导致持续加载失败的问题,切换后现立即生效。
性能优化
低端 32 位安卓电视非播放路径性能优化 (#918)
针对低性能 32 位安卓电视(Mali-450 级 GPU / 1–2GB 内存)优化多处性能瓶颈:
- 图片缓存新增字节预算 LRU 淘汰机制(Android/Web 32MB,其他平台 64MB),修复原缓存只进不出导致 native 内存耗尽的问题;新增内存压力时自动释放缓存。
- 图片统一按目标显示尺寸解码,不再以原始分辨率解码后缩放,大幅降低内存占用。
- 电视端跳过多处无条件每帧执行的全屏高斯模糊(σ22–40),这些面板自身有半透明底色,关闭模糊后视觉效果不变。
- Emby/Jellyfin 整库响应改在独立 isolate 解析,避免阻塞主线程。
- 修复启动时对每条观看历史同步检查文件路径导致慢速 eMMC 设备启动卡顿数秒的问题。
- 修复启动加载失败时忙等轮询永不退出的问题,改为带超时的异步等待。
- 首页推荐位封面升级合并为一次重建,本地图片进度刷新改为时间节流(200ms)。
- 番剧详情请求加备忘,修复简介反复闪回空态的问题。
维护与发布流程
- 回退了 #920(字幕与 Erika 内核修复),待 Erika 依赖对齐与独立验证后分批重提。
- 修复 PR 验证流程中 HTTP 代理设置 Widget 测试因视口不足导致的偶发失败(#923)。
- 修复 HarmonyOS 构建因
SliverList.separatedAPI 差异导致的发版编译错误(#943)。 - 更新 Erika 依赖至 0.2.0 以支持 GIF 导出;版本号 bump 至 1.11.8。