手机端 App
除了网页版,ZViewer 还有一份独立的手机客户端,源码在单独的仓库 ZViewerAPP。它不是把网页地址包一层壳:界面与播放器随安装包一起分发,应用内填写服务端地址就能连接。
手机端连接的是你自己的 ZViewer 服务端,账号、房间与权限都由服务端决定。客户端不会绕过服务端的权限或跨域限制,媒体来源与可用功能同样取决于服务端和所在平台。
支持的平台
| 平台 |
|---|
| Android |
| HarmonyOS |
Android 最低要求 Android 7.0 / API 24,HarmonyOS 最低要求 6.1 / API 23,两端都只提供 64 位版本。
获取安装包
从 ZViewerAPP Releases 下载对应平台的安装包。每个版本同时附上源码压缩包与 SHA256SUMS.txt,可以用它核对安装包完整性。
| 平台 | 安装包 |
|---|---|
| Android | ZViewer-Android-<版本号>-release.apk |
| HarmonyOS | ZViewer-HarmonyOS-<版本号>-release.hap |
| 源码 | ZViewer-client-<版本号>-source.zip |
连接服务器
- 启动应用,在连接页填入 ZViewer 服务端的地址。
- 用服务端账号登录。服务端允许游客时,也可以游客身份直接进入。
- 进入房间大厅,选择已有房间加入。
能否创建房间取决于服务端设置。服务端把建房权限限制为管理员时,手机端同样只能加入别人的房间。
功能差异对照
手机端与网页版共用同一套业务代码,因此房间、片单、弹幕、字幕、音乐与语音的行为一致。差异集中在平台能力上。
| 能力 | 手机端 | 网页版 |
|---|---|---|
| 同步观影、片单、聊天、弹幕、字幕 | 支持 | 支持 |
| 一起听音乐 | 支持,设置页按窄屏重排,平板保留多列布局 | 支持 |
| 房间语音 | 支持,可申请麦克风、静音、查看成员状态 | 支持 |
| 观看他人发起的屏幕共享 | 支持 | 支持 |
| 发起屏幕共享 | 不提供屏幕采集,无法发起 | 支持,需 HTTPS |
| B 站高画质地址 | 内置 B 站扫码登录与本机播放代理,无需另装 CLI | 需要 ZViewerCLI 本地代理 |
| 系统播放控件 | 接入原生媒体会话,支持系统通知控制与后台播放 | 由浏览器决定 |
| 屏幕旋转 | 顶栏提供旋转按钮,全屏时播放器内另有入口 | 由设备与浏览器决定 |
切换标签页、收起面板或更换房间模式都不会主动结束语音通话。
内置 B 站登录与画质
Android 与 HarmonyOS 都内置了 B 站扫码登录和本机播放代理,不需要另外安装 ZViewerCLI。登录后,应用会自动挑选账号有权限、视频有实际轨道、且设备支持的最高普通画质,并排除 HDR(高动态范围)与杜比视界。
最高画质播放失败时,应用会有限恢复一次;仍然失败则优先回退到 720P,没有 720P 就退到实际可用的更低档位。手动选择的画质按影片记住,房主与观众各自在本机选择,互不影响。
B 站 Cookie 在 Android 上经 Keystore(系统提供的密钥存储服务)加密后存入不可备份目录。画质广播不包含本机代理地址与凭据。
播放手势
原生播放器在捕获阶段(事件到达目标元素之前)接管视频表面的触屏操作,桌面网页保持原有手势不变。
- 单击视频表面只唤出控件,不切换播放状态。
- 一起看:双击画面中间三分之一处切换播放与暂停。
- 一起看全屏时,双击左三分之一后退 15 秒,双击右三分之一前进 15 秒,范围限制在 0 到时长之间。
- 一起听:只有在纯净模式的全屏视频上才启用同一套双击手势,普通音乐界面不触发。全屏单击唤出退出按钮,按钮 3 秒后自动隐藏,仍可用按钮、Esc 或系统返回键退出。
后台播放
两端都接入了系统媒体会话,锁屏和通知栏能显示影片或歌曲信息、播放状态与解码后的封面,支持系统播放、暂停、跳转以及可用的切歌操作。
常见问题
安装时提示无法覆盖安装
多半是包名或签名与已装版本不一致。先记录服务器地址与个人设置,确认不再需要旧版本后再卸载,卸载会清除该应用的本地数据。调试版与正式版包名不同,可以并存。
画质上不到最高档
先确认 B 站账号本身在看该视频时能选到对应清晰度,再确认设备能解码该编码。HDR 与杜比视界会被自动排除,属于预期行为。
手机无法发起屏幕共享
手机端不提供屏幕采集,只能观看他人发起的共享。需要发起共享时请使用网页版。