这是本文档旧的修订版!
问题描述:
在很多环境下,C2自带的Audio方法“on tag声音 end”事件均无法被正常触发,导致其后续逻辑无法正确执行。
偶然能执行的声音,跟其声音长度与其他声音资源的加载情况有关,具体找不到规律
改进方法:
将需要触发声音结束事件的音频进行预加载
固定长度的音频:通过其他软件获取音频的播放时长,一般最多到小数点后一位即可。然后在播声音时,设定一个该时长的timer
动态长度的音频:在播放该声音后,执行wait 0.2S, 再设置一个Audio.Duration(tag)长度的timer。
以上两种情况均在on timer事件时,执行声音结束事件处理
如果运行环境是
WKWebView,且运行本地包体时,声音资源由于即时可得,它们会在游戏初始的一瞬间一并加载,从而导致游戏初始化时出现卡顿。建议优化资源,并减少初始化的逻辑。这个现象在低版本的
WKWebView上特别明显