diff --git a/README.md b/README.md index 68e0e68..443bec9 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -

+

Entryway Logo

Entryway

-

多服务器聚合管理的 Android 媒体客户端,支持 Jellyfin 和 Emby。

+

澶氭湇鍔″櫒鑱氬悎绠$悊鐨?Android 濯掍綋瀹㈡埛绔紝鏀寔 Jellyfin 鍜?Emby銆?/p>

A multi-server aggregation Android media client for Jellyfin & Emby.

@@ -16,85 +16,86 @@ --- -## 最新版本 | Latest Release +## 鏈€鏂扮増鏈?| Latest Release -- **手机版 v0.17.0**:完整多弹幕 API 管理、窄屏布局修复与按服务隔离的匹配和缓存 -- **TV 版 v0.16.0**:移植多弹幕 API、重排遥控器弹窗并修复弹幕穿透菜单与焦点问题 -- **Windows v0.14.0**:提供 Windows x64 安装器、硬件解码策略与字幕/资源作用域修复 -- **手机版 APK**:[`entryway-debug-0.17.0.apk`](https://github.com/JackYucongjia/Entryway_Release/releases/download/v0.17.0/entryway-debug-0.17.0.apk) -- **TV 版 APK**:[`Entryway-tv-debug-0.16.0.apk`](https://github.com/JackYucongjia/Entryway_Release/releases/download/v0.17.0/Entryway-tv-debug-0.16.0.apk) -- **Windows x64**:[`Entryway_0.14.0+33_Windows_x64_Setup.exe`](https://github.com/JackYucongjia/Entryway_Release/releases/download/v0.17.0/Entryway_0.14.0%2B33_Windows_x64_Setup.exe) -- **变更日志**:[`RELEASE_NOTES.md`](RELEASE_NOTES.md) +- **鎵嬫満鐗?v0.17.0**锛氬畬鏁村寮瑰箷 API 绠$悊銆佺獎灞忓竷灞€淇涓庢寜鏈嶅姟闅旂鐨勫尮閰嶅拰缂撳瓨 +- **TV 鐗?v0.16.0**锛氱Щ妞嶅寮瑰箷 API銆侀噸鎺掗仴鎺у櫒寮圭獥骞朵慨澶嶅脊骞曠┛閫忚彍鍗曚笌鐒︾偣闂 +- **Windows v0.16.0**:首页横向滚动箭头、查看全部入口、下载页返回按钮 +- **鎵嬫満鐗?APK**锛歔`entryway-debug-0.17.0.apk`](https://github.com/JackYucongjia/Entryway_Release/releases/download/v0.17.0/entryway-debug-0.17.0.apk) +- **TV 鐗?APK**锛歔`Entryway-tv-debug-0.16.0.apk`](https://github.com/JackYucongjia/Entryway_Release/releases/download/v0.17.0/Entryway-tv-debug-0.16.0.apk) +- **Windows x64**锛歔`Entryway_0.14.0+33_Windows_x64_Setup.exe`](https://github.com/JackYucongjia/Entryway_Release/releases/download/v0.17.0/Entryway_0.14.0%2B33_Windows_x64_Setup.exe) +- **鍙樻洿鏃ュ織**锛歔`RELEASE_NOTES.md`](RELEASE_NOTES.md) -## 概述 | Overview +## 姒傝堪 | Overview -**Entryway** 是一个面向自建媒体服务器用户的 Android 客户端,核心设计理念是 **多服务器聚合**——在一个统一的界面中管理和浏览你所有的 Jellyfin / Emby 服务器。 +**Entryway** 鏄竴涓潰鍚戣嚜寤哄獟浣撴湇鍔″櫒鐢ㄦ埛鐨?Android 瀹㈡埛绔紝鏍稿績璁捐鐞嗗康鏄?**澶氭湇鍔″櫒鑱氬悎**鈥斺€斿湪涓€涓粺涓€鐨勭晫闈腑绠$悊鍜屾祻瑙堜綘鎵€鏈夌殑 Jellyfin / Emby 鏈嶅姟鍣ㄣ€? -Entryway is an Android client designed for self-hosted media server users. Its core philosophy is **multi-server aggregation** — managing and browsing all your Jellyfin / Emby servers from a single, unified interface. +Entryway is an Android client designed for self-hosted media server users. Its core philosophy is **multi-server aggregation** 鈥?managing and browsing all your Jellyfin / Emby servers from a single, unified interface. -## 核心特性 | Features +## 鏍稿績鐗规€?| Features -### 🖥️ 多服务器管理 -- 添加多个 Jellyfin / Emby 服务器,一键快速切换 -- 服务器卡片显示用户头像、用户名、服务器地址 -- 长按菜单:重新登录、服务器线路、修改图标、修改备注、设为私密、修改密码、编辑、删除 -- 溢出菜单:搜索、排序(默认/名称/最近使用)、网格/列表布局切换、显示选项 -- 私密服务器:标记后默认隐藏,需手动开启显示 +### 馃枼锔?澶氭湇鍔″櫒绠$悊 +- 娣诲姞澶氫釜 Jellyfin / Emby 鏈嶅姟鍣紝涓€閿揩閫熷垏鎹? +- 鏈嶅姟鍣ㄥ崱鐗囨樉绀虹敤鎴峰ご鍍忋€佺敤鎴峰悕銆佹湇鍔″櫒鍦板潃 +- 闀挎寜鑿滃崟锛氶噸鏂扮櫥褰曘€佹湇鍔″櫒绾胯矾銆佷慨鏀瑰浘鏍囥€佷慨鏀瑰娉ㄣ€佽涓虹瀵嗐€佷慨鏀瑰瘑鐮併€佺紪杈戙€佸垹闄? +- 婧㈠嚭鑿滃崟锛氭悳绱€佹帓搴忥紙榛樿/鍚嶇О/鏈€杩戜娇鐢級銆佺綉鏍?鍒楄〃甯冨眬鍒囨崲銆佹樉绀洪€夐」 +- 绉佸瘑鏈嶅姟鍣細鏍囪鍚庨粯璁ら殣钘忥紝闇€鎵嬪姩寮€鍚樉绀? -### 🏠 首页即服务器 -- 首页直接展示当前活跃服务器的媒体库内容 -- 左上角显示当前服务器名,点击即可切换到其他非私密服务器 -- 支持精选轮播(Featured Carousel)和无轮播两种模式 +### 馃彔 棣栭〉鍗虫湇鍔″櫒 +- 棣栭〉鐩存帴灞曠ず褰撳墠娲昏穬鏈嶅姟鍣ㄧ殑濯掍綋搴撳唴瀹? +- 宸︿笂瑙掓樉绀哄綋鍓嶆湇鍔″櫒鍚嶏紝鐐瑰嚮鍗冲彲鍒囨崲鍒板叾浠栭潪绉佸瘑鏈嶅姟鍣? +- 鏀寔绮鹃€夎疆鎾紙Featured Carousel锛夊拰鏃犺疆鎾袱绉嶆ā寮? -### 🎬 双引擎播放器 -- **ExoPlayer 引擎**:默认播放引擎,基于 Media3 + Jellyfin FFmpeg 扩展 -- **mpv 引擎**:备用高兼容性引擎,基于 libmpv,支持更多编解码格式 -- 播放失败时自动提供引擎切换建议,支持手动一键切换 -- 切换引擎时自动保持播放进度 -- 统一 User-Agent:`Entryway/{version} (android; {api})` +### 馃幀 鍙屽紩鎿庢挱鏀惧櫒 +- **ExoPlayer 寮曟搸**锛氶粯璁ゆ挱鏀惧紩鎿庯紝鍩轰簬 Media3 + Jellyfin FFmpeg 鎵╁睍 +- **mpv 寮曟搸**锛氬鐢ㄩ珮鍏煎鎬у紩鎿庯紝鍩轰簬 libmpv锛屾敮鎸佹洿澶氱紪瑙g爜鏍煎紡 +- 鎾斁澶辫触鏃惰嚜鍔ㄦ彁渚涘紩鎿庡垏鎹㈠缓璁紝鏀寔鎵嬪姩涓€閿垏鎹? +- 鍒囨崲寮曟搸鏃惰嚜鍔ㄤ繚鎸佹挱鏀捐繘搴? +- 缁熶竴 User-Agent锛歚Entryway/{version} (android; {api})` -### ⏩ 播放控制 -- **倍速播放**:0.1x ~ 5.0x 滑动条 + 快速预设(0.5x / 1.0x / 1.5x / 2.0x / 3.0x) -- **长按快速倍速**:长按屏幕进入手动短时间高速播放 -- **手势控制**:左右滑动快进快退、左侧上下滑动调亮度、右侧上下滑动调音量 -- **画面比例**:循环切换适应/填充/16:9/4:3 等比例模式 -- **锁屏**:锁定控制界面,防止误触 -- **剧集导航**:上一集/下一集,播放列表(仅剧集) +### 鈴?鎾斁鎺у埗 +- **鍊嶉€熸挱鏀?*锛?.1x ~ 5.0x 婊戝姩鏉?+ 蹇€熼璁撅紙0.5x / 1.0x / 1.5x / 2.0x / 3.0x锛? +- **闀挎寜蹇€熷€嶉€?*锛氶暱鎸夊睆骞曡繘鍏ユ墜鍔ㄧ煭鏃堕棿楂橀€熸挱鏀? +- **鎵嬪娍鎺у埗**锛氬乏鍙虫粦鍔ㄥ揩杩涘揩閫€銆佸乏渚т笂涓嬫粦鍔ㄨ皟浜害銆佸彸渚т笂涓嬫粦鍔ㄨ皟闊抽噺 +- **鐢婚潰姣斾緥**锛氬惊鐜垏鎹㈤€傚簲/濉厖/16:9/4:3 绛夋瘮渚嬫ā寮? +- **閿佸睆**锛氶攣瀹氭帶鍒剁晫闈紝闃叉璇Е +- **鍓ч泦瀵艰埅**锛氫笂涓€闆?涓嬩竴闆嗭紝鎾斁鍒楄〃锛堜粎鍓ч泦锛? -### 🔧 mpv 引擎专属 -- **解码模式切换**:SW(软解)/ HW(硬解)/ HW+(硬解+拷贝)一键循环切换 -- 字体自动加载,支持字幕渲染 +### 馃敡 mpv 寮曟搸涓撳睘 +- **瑙g爜妯″紡鍒囨崲**锛歋W锛堣蒋瑙o級/ HW锛堢‖瑙o級/ HW+锛堢‖瑙?鎷疯礉锛変竴閿惊鐜垏鎹? +- 瀛椾綋鑷姩鍔犺浇锛屾敮鎸佸瓧骞曟覆鏌? -### 🔊 高级音频 -- Apple Spatial Audio 空间音频检测与启用 -- HDR / Dolby Vision 能力检测与自动适配 +### 馃攰 楂樼骇闊抽 +- Apple Spatial Audio 绌洪棿闊抽妫€娴嬩笌鍚敤 +- HDR / Dolby Vision 鑳藉姏妫€娴嬩笌鑷姩閫傞厤 -### 🎨 全局主题系统 -- 支持 **跟随系统** / **浅色** / **深色** 三种主题模式 -- 基于 Material 3 动态配色方案 +### 馃帹 鍏ㄥ眬涓婚绯荤粺 +- 鏀寔 **璺熼殢绯荤粺** / **娴呰壊** / **娣辫壊** 涓夌涓婚妯″紡 +- 鍩轰簬 Material 3 鍔ㄦ€侀厤鑹叉柟妗? -### 🌐 完整国际化 -- 界面支持中文(简体/繁体)和英文 -- 50+ 影视类型名称客户端翻译 -- 根据系统语言自动切换 +### 馃寪 瀹屾暣鍥介檯鍖? +- 鐣岄潰鏀寔涓枃锛堢畝浣?绻佷綋锛夊拰鑻辨枃 +- 50+ 褰辫绫诲瀷鍚嶇О瀹㈡埛绔炕璇? +- 鏍规嵁绯荤粺璇█鑷姩鍒囨崲 -### 📥 离线下载 -- 队列化下载管理,支持暂停/恢复/取消 -- 季度/剧集批量下载,下载前显示存储空间预估 -- 无网络时自动切换到离线内容模式 +### 馃摜 绂荤嚎涓嬭浇 +- 闃熷垪鍖栦笅杞界鐞嗭紝鏀寔鏆傚仠/鎭㈠/鍙栨秷 +- 瀛e害/鍓ч泦鎵归噺涓嬭浇锛屼笅杞藉墠鏄剧ず瀛樺偍绌洪棿棰勪及 +- 鏃犵綉缁滄椂鑷姩鍒囨崲鍒扮绾垮唴瀹规ā寮? -## 技术栈 | Tech Stack +## 鎶€鏈爤 | Tech Stack -| 类别 | 技术 | +| 绫诲埆 | 鎶€鏈?| |------|------| -| **语言** | Kotlin 2.0, Coroutines, Flow | +| **璇█** | Kotlin 2.0, Coroutines, Flow | | **UI** | Jetpack Compose + Material 3 + Navigation Compose | -| **网络** | Retrofit 3 + OkHttp 5 | -| **图片** | Coil 3 | -| **播放器** | Media3 ExoPlayer + FFmpeg 扩展 / libmpv (双引擎) | -| **存储** | SharedPreferences + DataStore | -| **构建** | Gradle 9.4, AGP, KSP | +| **缃戠粶** | Retrofit 3 + OkHttp 5 | +| **鍥剧墖** | Coil 3 | +| **鎾斁鍣?* | Media3 ExoPlayer + FFmpeg 鎵╁睍 / libmpv (鍙屽紩鎿? | +| **瀛樺偍** | SharedPreferences + DataStore | +| **鏋勫缓** | Gradle 9.4, AGP, KSP | -## 贡献 | Contributing +## 璐$尞 | Contributing + +娆㈣繋鎻愪氦 Issue 鍜?Pull Request銆傝緝澶х殑鍔熻兘寮€鍙戝缓璁厛寮€ Issue 璁ㄨ鑼冨洿銆? -欢迎提交 Issue 和 Pull Request。较大的功能开发建议先开 Issue 讨论范围。 diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 5a4c660..da6ea77 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,6 +1,6 @@ -# Entryway Mobile 0.18.0 / TV 0.16.1 / Windows 0.15.0+34 +# Entryway Mobile 0.18.0 / TV 0.16.1 / Windows 0.16.0+35 -本次批次为 Android 手机、Android TV 与 Windows 三端同批发布。各端应用版本不同,全局标签 `v0.18.0` 仅为本批次 ID。Android 为 1.0 前的 debug 构建。 +本批次仅 Windows 端有代码更新,Android 手机版和 TV 版沿用 v0.18.0 已验证安装包。Android 为 1.0 前的 debug 构建。 ## 版本与校验 @@ -8,27 +8,25 @@ | --- | --- | --- | --- | --- | | Android Mobile | 0.18.0 | 37 | entryway-debug-0.18.0.apk | `0157c126c61d79767952ed995414eb5d8a1239bb2013a2406996468356c7b820` | | Android TV | 0.16.1 | 36 | Entryway-tv-debug-0.16.1.apk | `09d2a29d65f37cfc62c85b4fb0a7ce9a8386fac9712fb4653b0cec2f7ad69e9f` | -| Windows x64 | 0.15.0 | 34 | Entryway_0.15.0+34_Windows_x64_Setup.exe | `e9e45536fe981d117f8f261fe82a4e1fbd5b01a1ff515dfdc110253b8992f21b` | +| Windows x64 | 0.16.0 | 35 | Entryway_0.16.0+35_Windows_x64_Setup.exe | `4f4652d5773b383291e0469c2e5a03f03cc0b25a707ebe34b02653fd958f3a14` | > Android 为 debug 构建(1.0 前约定),Windows 安装包未签名;首次运行可能触发系统安全提示,需手动确认。 ## Android Mobile 0.18.0 -- 详情页多版本影片可选择要播放的版本,选择贯穿播放全链路(Emby / Jellyfin 均生效)。 -- 音轨/字幕弹窗内可按文件调节音频延迟和字幕延迟,按媒体项持久化。 -- 带样式 ASS 字幕在 ExoPlayer 下提示样式降级,并提供「覆盖字幕自带样式」开关;PGS/VOBSUB 图形字幕单独提示。 -- 完整简体中文 / 英文本地化;语言切换改用应用自有存储,切换即时生效。 -- 修复登录页浅色模式文字不可见;修复字幕样式设置需重开播放器才生效;去除详情页海报毛玻璃。 +本批次无变化,沿用 v0.18.0 的 0.18.0。 ## Android TV 0.16.1 -- 详情页对含多个版本的影片显示版本切换按钮,所选版本贯穿播放链路。 -- 注:本版 TV 多版本选择尚未在电视端真机充分验证。 +本批次无变化,沿用 v0.18.0 的 0.16.1。 -## Windows 0.15.0 +## Windows 0.16.0 -- 首页各分区新增“查看全部”浏览页。 -- 更新检测与安装策略完善。 +- 首页所有横向媒体行新增浮动左右滚动箭头,鼠标悬停时显示,点击可平滑横向浏览。 +- "继续观看"和"我的媒体"分区新增"查看全部"入口。 +- "我的媒体"查看全部改为库目录选择页,先选库再看内容。 +- 子媒体库行最大条目数从 12 提升至 24,最大化窗口时可展示更多内容。 +- 修复离线下载页面进入后无法退出的问题(新增返回按钮)。 ## 已知问题