1.6 KiB
1.6 KiB
iOS完成音播放中立即切关:诊断与修订
已知事实
用户在iOS微信小游戏中发现:通关短音乐和彩带仍播放时立即点击下一关会停顿,关闭音效则不卡。卡顿不应描述为单独的通关动画启动卡顿。
旧调用链为:下一关按钮→上游start适配入口→feedback.reset()→CasualAudio.stop()。stop先调用finishComplete解除BGM压低,再停止四个音效通道,其中包括正在播放完成WAV的第四路。
qa/jingle-next-trace.mjs以dc83712的真实游戏包和当前游戏包驱动同一个按钮流程,对音频接口做指令计数。旧包对活动完成通道调用stop为1次,切关后BGM为0.119;新版为0次,完成音src保持不变,切关后BGM仍为0.02975,待自然结束恢复0.119。这说明强制中断路径确实存在,并被移除;它不是对iOS底层stop耗时的直接测量。
修订
反馈reset增加显式preserveComplete选项,仅换关/重开使用;后台、静音、音频中断仍硬停止。完成音结束回调按具体完成播放对象的身份保护,独立于关卡输入事件serial。新关卡声音在完成音期间使用其余三路,避免节点或UI复用第四路时再次触发stop。未增加音效播放器数量,未改动WAV资源或A3绘制。
验收边界
自动化覆盖跨关续播、完成音自然结束后BGM恢复、连续完成与过期回调、UI/节点抢占、静音、后台和播放异常。iOS真机仍需重新验证“短音乐播放期间立刻点下一关”,不能凭这份调用链报告宣称真机帧率已达标。