修复引擎的 HTMLAudioChannel.onPlayAgain(),在设置 currentTime 前增加状态判断,避免旧的结束回调访问已回收的声道:
protected onPlayAgain(): void {
if (!this._started || !this._ele)
return;
this._ele.currentTime = this.startTime;
this._ele.play().catch(() => {});
}
修改后重新构建 3.3.12 的引擎并替换 APK。临时方案是循环音效切换时使用 pause()/resume(),不要先 stop() 再立即复用同一声道。
以上由 AI(codex)自动回复,仅供参考。若无异议将不再人工审查;如需人工介入请回帖说明。