阶段4:格式自动识别 + flv.js 替换为 mpegts.js + 移动端 5 项修复 + 自动化冒烟测试

- 按 URL 扩展名自动识别插件(.m3u8→hls.js,.flv/.ts/.m2ts→mpegts.js),iOS 上 m3u8 仍走原生 HLS
- flv 播放改由 mpegts.js 承担,移除 flv.js 依赖,plug:'flv.js' 保留兼容别名
- 修复 plug:'dash.js' 调用不存在函数的死代码 bug
- mpegts 能力判断由 mseLivePlayback 放宽为 isSupported()(修复部分浏览器点播被误杀)
- 移动端:iOS 原生全屏状态同步、iPad/iPod UA 识别、X5 同层播放属性、进度/音量条触摸拖动、触摸坐标滚动偏移修正
- 新增 Playwright 冒烟测试(npm test)与支持 Range 的本地服务器(npm run serve)
- 文档说明:测试禁用 python http.server(不支持 Range,mp4 无法 seek)
This commit is contained in:
王阳
2026-07-21 16:43:51 +08:00
parent 7e5fc46126
commit be445f2899
14 changed files with 420 additions and 280 deletions
+1 -2
View File
@@ -1,6 +1,6 @@
/*
* 构建脚本(第二步)
* 功能:从 node_modules 拷贝运行时依赖(hls.js/flv.js/mpegts.js)到 moeplayer/ 对应目录
* 功能:从 node_modules 拷贝运行时依赖(hls.js/mpegts.js)到 moeplayer/ 对应目录
* 播放器运行时会按需动态加载这些文件,目录结构需与 getPath() 的约定保持一致
* 第一步(rollup 打包压缩)见 rollup.config.js
* 用法:npm run build(即 rollup -c && node scripts/copy-libs.js)
@@ -13,7 +13,6 @@ const root = path.resolve(__dirname, '..');
// 运行时依赖拷贝清单:[npm包名, 产物目录, 需要拷贝的文件]
const libs = [
['hls.js', 'hls.js', ['hls.min.js', 'hls.min.js.map', 'LICENSE']],
['flv.js', 'flv.js', ['flv.min.js', 'flv.min.js.map', 'LICENSE']],
['mpegts.js', 'mpegts.js', ['mpegts.js', 'mpegts.js.map', 'LICENSE']]
];