3.10的版本,使用AudioEngine播放音效时,发现循环播放时,两次播放间有短暂的间隔。
于是做了个实验:将一段4秒的音效(以下称音效a),重复4次合成一段16秒的音效(以下称音效b),将两段音效同时循环播放。发现初始的4秒内a,b音效是完全重合的,4秒之后b音效的播放时间开始先于a音效,且时间越长,时间差越大。经过计算和分析,音效在循环播放时,每次播完之后,可能会存在短暂的停顿,时间约为0.1秒,求解决方案。
我们同样遇到了,求官方解释
强烈希望官方优化下音效引擎,AudioEngine有太多BUG了,平台适配性太差,手机适配性太低,几乎没法用,如果同时播放了差不多10个不同的音效(mp3格式),android平台和IOS平台极大概率闪退,用oppo手机测的时候随着播放的次数增加变得越来越卡,掉帧非常厉害,播放的次数越多越明显,用红米手机测的时候不卡,但是偶然性整个屏幕卡住不动,点击事件也无法触发。用SimpleAudioEngine就没有碰到那些问题,但是某些音效还没播完就断了……将项目切换到了3.3、3.4、3.11.1、3.12,问题都没法解决,简直崩溃……美术辛辛苦苦搞来的音效,效果完全变了……心凉啊……
ios我们用.m4a格式的音效差不多能完美循环,但是android试了很多格式就是怎么也不行!!!AudioEngine确实bug太多…
@dicks_kate, @bouncepower
谢谢反馈,请问循环播放音效有100ms的延时,具体是怎么测试出来的(使用什么工具?)?
Android上的声音播放以及重构了一次,支持preload,提高了效率和稳定性。
https://github.com/cocos2d/cocos2d-x/pull/15875
是否可以同步下这个PR中的修改并且再次测试?
或者提供给我一个重现问题的demo,我分析一下原因。非常感谢。
我也遇到了这个问题,我的游戏只要音效一打开,在浏览器上倒没事,但是在模拟器和natvie很卡。
大家在反馈问题时最好把环境写清楚些,比如引擎版本,编译平台,运行的手机信息,重现步骤等。这样才能帮助我们快速定位、解决问题。