Repository navigation
OcPlayer v0.2.0 · 双端导航外壳重做与氛围背景贯通、弹幕匹配精准度、内核换装官方 v0.2.0
OcPlayer v0.2.0 · 双端导航外壳重做与氛围背景贯通、弹幕匹配精准度、内核换装官方 v0.2.0
下载
| 文件 | 平台 | 说明 |
|---|---|---|
OcPlayer-v0.2.0-macOS-arm64.dmg / .zip |
macOS(Apple Silicon) | ad-hoc 签名,未经公证,首次打开可能有 Gatekeeper 提示 |
OcPlayer-v0.2.0-ios-unsigned.ipa |
iOS(iPhone / iPad) | 未签名 IPA,需用 AltStore / Sideloadly / TrollStore 等工具重签安装 |
SHA256SUMS.txt / SHA256SUMS-ios.txt |
— | 对应平台产物校验和 |
macOS 与 iOS 同用上游官方内核 v0.2.0(fork 上先行的改动已全部合入上游,C ABI 与上一版逐字节相同,App 侧零适配)。产物内已写入 build 号与提交短哈希(关于页 v0.2.0 (Build N · 短哈希))。
升级须知
- Bangumi 登录前置条件变了:客户端不再持有 OAuth 应用密钥,登录改走 OcPlay 网关——设置里需要配「网关地址 + 带
bgm:oauth权限的 API Key」(与弹幕共用同一份设置)。此前登录过 Bangumi 的用户需要按新方式重新登录。 - 「海报氛围背景」开关已移除:氛围图改为常开,有 backdrop 图即铺氛围底,没图自动回退清晰横幅;老配置里残留的关断值不会影响新版本。
- iOS 底部 Tab 精简:「媒体库」Tab 撤掉,媒体库入口统一走首页的「媒体库」栏;搜索改为独立的搜索 Tab(顶栏放大镜也可进)。
本次改动
界面与交互(双端导航外壳重做)
macOS 撤掉侧栏,分区入口收进窗口工具栏的玻璃图标组(版式对齐 macOS 26 Safari 工具栏),媒体库是独立一颗带箭头的按钮,点开弹出各库列表、库拉取失败可在面板里重试;iPad 分区切换回归 iPhone 同款系统 Tab;iPhone 新增搜索 Tab 与首页媒体库栏,顶部常驻搜索钮。换页统一为两段式转场(点击后当前页淡出 → 落地页淡入),pop 返回、分区切换与 push 对称;顶栏返回键常规布局改自绘玻璃胶囊。氛围背景贯通双端:首页轮播常驻底层、iOS 三个 Tab 补齐背景、跨 Tab 背景连续渐变,进详情页不再「先黑一下」(背景从首页那张延续进来),卡片统一半透明磨砂透出氛围图。
搜索
- 首页全库搜索:首页顶部搜索框搜所有媒体库(电影 + 剧集条目名,到剧集为止),结果以海报墙就地替换 rails,支持翻页与失败重试。
- 媒体库站内搜索:库海报墙页顶部搜索框,服务端
searchTerm查询,与排序 / 观看状态筛选 / 分页缓存全链路复用。 - 修掉一串搜索相关的形态问题:搜索 Tab 切走再切回输入框消失、iPhone 点 X 收起后被系统重新展开、库内搜索后切走再回来只剩搜索结果、macOS 搜索框随重构消失等。
弹幕匹配精准度
四件套修复「弹幕配错番」:①Jellyfin 裸数字文件名的规范名合成不再让模糊匹配锁到「第1话」;②新增集号 token 与特典命名空间,特典/OP-ED 不再被当成正片集数,特典目标也不拿 Jellyfin 序号发 episode=S<n>(与弹弹play 的 S 序号不同源);③类型硬门槛——剧场版与剧集是不同作品,类型不匹配直接出局(修掉中二病特典被同 IP 剧场版抢走的实报案例);④手动搜索失败时并发用 Bangumi 中文名换库内标题再搜一次、按 animeId 去重合并。另把弹幕网关的偶发 500 与 TLS/连接类错误纳入重试,「弹幕服务暂时不可用」大幅减少。
内核与播放
- 内核换装上游官方
v0.2.0,fork 阶段收尾:杜比视界 RPU 映射 / HDR tone-mapping、持久流预取、预取窗口封顶全部已在官方 release 内,钉点切回官方并固化哈希(Scripts/erika-v0.2.0.sha256)。 - 修「播放越久内存越涨、关掉也不回落」:内核 stderr 解码缓冲因
Data切片共享存储而无限增长(一条播放会话残留 60 MB+、24 分钟涨 200–400 MB),修复后工作集 ~128 MB 拉平、零增长。 - 换页入场闪跳、横向滚动行翻页箭头误显示等一票 UI 修复。
网络与账号
- 自定义 User-Agent:设置 → 网络,全局逐请求生效——部分 Emby/Jellyfin 服开了播放器白名单,把 UA 填成白名单内的播放器即可放行拉流。
- Bangumi 登录改走 OcPlay 网关(见升级须知),客户端不再持有 OAuth 密钥;旧 secret 已进过构建产物,建议在 bgm.tv 轮换。
- 弹幕网关侧的偶发 500(CF 包裹的未捕获异常)与 TLS 握手抖动纳入客户端重试集。
说明
- 完整变更清单(含每条的踩坑记录与验证口径)见仓库 CHANGELOG.md 的
[0.2.0]一节。 - 内核下载哈希固化入仓,与 release 自带
SHA256SUMS逐字节核对一致。 - 仍待跟进(内核侧,上游 Erika):开播仍有约 3.8 秒花在 HEAD 探测上(部分源站对 HEAD 恒回 403),可再省。
- 遗留已知问题:切分区时顶栏按钮组的整体换入换出是 NSToolbar 层重建,SwiftUI 无过渡钩子;详细日志开启时的内核 trace 建议仅在排障时使用。