Appearance
内核就是 xgplayer,我们解决的是它之外的事 —— UC/夸克 劫持、iOS 后台挂死、断流不重连、destroy 残留。React / Vue,inline 与 iframe 各一条,加静态 URL 共五种接入,行为逐字一致。
断网不重连、iOS 切后台挂死、反复 destroy 崩溃、UC/夸克 劫持成内置播放器…… 逐个编号复现。还没做的 6 个也如实列出来。
完整坑点清单
inline(React / Vue)能力最全但无隔离;iframe 换隔离损一点首帧;静态 URL 没有命令通道 —— 每种的缺点都摊开讲。
怎么选(含各自不推荐场景)
直播传 FLV + HLS 两种,点播传 HLS 一种。传少了会在部分手机上必然播不了,而你在自己电脑上测不出来。
为什么这样传
命令 / 事件 / 错误码全部 Zod 注册,严格 semver。每个错误码自带 category 和 retryable,埋点和重试逻辑可以直接照着写。
错误码参考
不支持自定义 header —— iOS Safari 的 HLS 请求由系统发出,JS 拦不到。与其给幻觉,不如强制走唯一四端一致的方案。
签名过期怎么办
只跑桌面 Chrome?需要 DRM / DASH / 投屏?想要开箱即用的漂亮 UI?这些场景我们会劝你选别的。
不该用的场景