3.0 KiB
PKG-AUDIO-02:外部音频行为基线
状态:本步测试基线验收完成;起点 8c0a2fee。遵循已冻结的 Audio Track 1.1.0 契约。 范围是源码及真实发布三格式的可控行为、错误与生命周期测试,以及真实浏览器的 外部音频/主视频播放、seek、切源和清理。受控 Audio 不被描述为真实解码证据。 公开行为不在本步修改;复现的历史问题交由 03 修复、04 类型迁移。
交付与验证
新增 test/audio-track.test.js 和窄范围受控 Audio helper,源码及发布三格式共 38 项通过。 公开 audio、工厂延迟安装、默认阈值、偏移正负、配置更新、事件、Promise 拒绝及清理均覆盖。 Node 测试加入现有 test:unit 脚本,不新增依赖或 lock 改动。
新增 audio-track.spec.js 和自行生成的 AAC 媒体/来源 manifest,服务器复用 Range 处理。 三引擎最终 36 项通过(其中 9 项历史缺陷复现、3 项原生能力诊断),没有重试/跳过。 音频与视频时钟、真实解码像素、偏移 seek、音量倍率、换音源/错误恢复、清理状态均验证。 577 项完整 CI、254 生产 TS 通过。最终浏览器补充又通过定向 lint 与三引擎执行。 计划/风险生成校验和 Git diff 检查通过:216 项任务、126 项风险,未豁免未解决项。
原始失败及下一步见 测试说明,所有输入/关键状态/报告哈希冻结在 执行证据。首轮 fixture 调用错误、Range 不完整、 WebKit 尺寸假设分别修正,没有增加超时或删掉真实播放/seek 断言。 最初定向 lint 有换行/多语句格式错误,按现有规范修正;受控测试多宿主改为单次全局 Audio 安装,避免多组恢复钩子的顺序污染,最终 CI 通过。
兼容、缺陷与范围
生产源码/声明/构建产物没有变更,没有新增 API、DOM/CSS 或消费者依赖。 AUDIO-LIFE-01:发布版保留 update 可在 destroy 后写 src,且空 src 清理导致浏览器 error=4。 AUDIO-SYNC-01:真实旧核心及候选核心中,原生暂停/自然结束后外部音频仍继续播放。 两项保持 open,由 03 修复;本步仅把证据等级更新为已复现。
负偏移起点、超时长、真实缓冲、快速切源、设备策略仍需 03/05 接续。 WAV 在 Windows WebKit 的原生 Audio 也失败,AAC 通过不替代 WAV 或真实 Safari 认证。 未测扬声器声音、物理设备和隔离安装包;不以本次基线关闭包发布门槛。 实际生产模块地图随 03 源码变化交付,本步提供可重跑维护入口。
提交与回退
独立完成提交主题:test(audio): [PKG-AUDIO-02] cover released behavior and real media。
回退本提交可移除新增测试/fixture/脚本接入和文档,生产播放器不受影响。
下一步 03 开始同步与生命周期源码拆分/修复,04 接续严格 TS/公开类型。
未 push/tag/publish/merge,全项目目标保持。