-
released this
2026-04-26 13:22:09 +08:00 | 19 commits to main since this release✨ 建议升级 — 修复了 v0.12.0 上 mpv 外挂字幕仍不显示的根因(异步
sub-add时序竞态),收敛了播放器与首页若干 UI 细节,并新增了实时下载速率显示。播放器修复
- mpv 外挂字幕不显示(根因修复):v0.12.0 的修复加了显式
sid设定但没考虑 mpv 的sub-add是异步的——命令立即返回,文件抓取在 mpv 内部派发线程上做,所以紧接着读track-list时新轨道还没出现,sid 总是设不上。新版改loadPendingExternalSubtitles成suspend,加完后轮询 track-list 最多约 2 秒直到新字幕条目出现,然后才setPropertyInt("sid", id) + sub-visibility=true。另外某些 libmpv 在 sub-add 收到尾随空字符串参数时整条命令会失败,现在根据 title / language 实际是否有内容选择 3 / 4 / 5 参数形式。 - mpv 字幕 / 音轨命名与 ExoPlayer 一致:以前 mpv 模式下字幕列表直接显示 mpv 从容器读到的原始 title,跟 ExoPlayer 模式(用服务器
MediaStream.displayTitle / language / index拼出来)对不上。updateMpvTrackInfo现在把 mpv 轨道列表回查到apiMediaStreams,按 external × order / embedded × order 匹配,统一走subtitleTrackLabel(stream)生成 label。
首页与服务器切换
- 切换服务器后内容刷新提速:
MediaRepository.getSessionConfig()把 session 配置缓存 1.5 秒,导致switchServer之后前 1500ms 内的查询全部用旧 session 打到上一个服务器。新增invalidateSessionCache(),在 Dashboard 检测到dashboardSessionKey变化时第一时间调用,让下一次媒体请求立刻按新服务器的凭证去拉。 - "继续观看"卡片标题单行省略:之前允许两行换行,跟首页下方的子媒体库卡片不一致;现改成
maxLines = 1+TextOverflow.Ellipsis,与下方风格统一。
播放器 UI
- 播放器右上角三点菜单弹窗修复:用 M3
DropdownMenu自带的shape/containerColor参数代替之前的Modifier.background(... shape = 18.dp)写法。之前内部Surface用自己的默认形状画阴影、和我们涂的 18.dp 圆形对不上,浅色模式下四个角各多出一块;同时containerColor改用MaterialTheme.colorScheme.surfaceContainerHigh加onSurface字色,浅色模式下文字不再难以辨认。 - 加载动画底部新增实时下载速率:缓冲 / 起播过程中可以直观区分"App 在做逻辑处理"和"播放器在拉直链数据"。ExoPlayer 侧通过自定义
TransferListener注入到 streaming 的DataSource.Factory累积网络字节、500ms 轮询出差值;mpv 侧直接读cache-speed属性。
APK
- 手机版:
entryway-debug-0.13.0.apk - TV 版:
Entryway-tv-debug-0.13.0.apk
构建信息
versionName:0.13.0versionCode:30
Downloads
- mpv 外挂字幕不显示(根因修复):v0.12.0 的修复加了显式