@video-lab/player-core 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Video Lab Player 的播放核心。它包装 xgplayer,并对外提供统一的命令与事件接口。
4
4
 
5
- 依赖 `@video-lab/protocol`、xgplayer、xgplayer-hls.js 与 xgplayer-flv.js,不依赖 React 或 Vue。业务应用通常使用 `@video-lab/react` 或 `@video-lab/vue`;仅在自定义集成时直接使用本包。
5
+ 依赖 `@video-lab/protocol`、xgplayer、hls.js/light 与 xgplayer-flv.js,不依赖 React 或 Vue。业务应用通常使用 `@video-lab/react` 或 `@video-lab/vue`;仅在自定义集成时直接使用本包。
6
6
 
7
7
  ## 安装
8
8
 
@@ -82,3 +82,18 @@ player.destroy() // 幂等,反复调用安全
82
82
  ```bash
83
83
  pnpm --filter @video-lab/player-core test
84
84
  ```
85
+
86
+ ## 宿主网页全屏
87
+
88
+ 通过 `pageFullscreen` 传入宿主布局适配器(`setActive(active)` / `dispose()`),句柄 `setPageFullscreen(active)` 等待布局确认。实际状态事件为 `pagefullscreenchange`;React 使用 `onPageFullscreenChange`,Vue 使用 `@page-fullscreen-change`。
89
+
90
+ 详见[网页全屏接入与完整参考实现](../../docs/guides/PAGE-FULLSCREEN.md)。iframe 需要新版宿主与 iframe 协商支持;未启用时新入口不可用。浏览器原生全屏接口保持独立。
91
+
92
+
93
+ ### 统一恢复(契约 v2)
94
+
95
+ 旧 `reconnect({ resetCounter })` 和 `reconnectstart/success/failed` 已移除。命令入口是 `retry(): Promise<void>`;Promise 完成只表示接受或合并请求。恢复中的重复请求共用预算,强播放证据通过 `recovery` 的 `recovered` 回报。
96
+
97
+ 宿主 UI 读取 `playablechange` 的 `playable`、`recoverable`、`action`。`error` 只提供诊断;预算耗尽才给出 `action: 'retry'`,宿主无需按错误原因拼接重试状态。组合层可通过构造配置关闭默认 Error/Loading 覆盖层,事件仍保留。静态 iframe URL 没有宿主命令通道,内部按钮仍走同一调度。
98
+
99
+ 更多迁移语义见 [ADR-099](../../docs/adr/ADR-099-unified-recovery-contract.md)。