=====================音频问题,四连发===============
1、华为畅享5S、金立等一批小众型号手机,在用cocos2dx播放短音频特效的时候,会出现MP3解码错误导致游戏直接崩溃。(我们刚好3.13.1引擎,和下面哥们同样问题https://forum.cocos.com/t/cocos2dx-3-13-1-5/42313)
解决这个问题,临时换成Ogg格式 解决所有崩溃机型
2、引发新问题,播放OGG格式在华为,或者其他机型上面,有卡顿线下,武将做了动作,卡顿1s才出剩余,才能继续播放动作,体验极差。(又找到官方问题https://forum.cocos.com/t/ccexp-audioengine-ogg/45056)
解决这个问题,把引擎升级到3.15 -----------解决了播放ogg卡顿问题,3.15用第三方库,播放效率上快乐很多
3、新问题,游戏在快速战斗,跳过的循环过程中,容易几率崩溃。
在分析日志的时候发现,在同时播放多个音效叠加时候,AudioMixerController 会有混频处理,说引擎这个地方有bug,和下面这个应该是类似的问题,于是在github上面
17922
我的错误日志,和上面的很像,在11号信号前,都是在做频繁的音频操作。
11-28 00:39:00.975: D/cocos2d-x debug info(4719): [LUA-print] WndMgr:open <12>, csb = panel/battle_main.csb
11-28 00:39:00.985: V/PcmAudioPlayer(4719): PcmAudioPlayer (0xb8a5ca20) stop ...
11-28 00:39:00.985: V/cocos2d-x debug info(4719): Removing player id=15, state:4
11-28 00:39:00.985: V/cocos2d-x debug info(4719): play2d, _audioPlayers.size=1
11-28 00:39:00.985: V/AudioPlayerProvider(4719): (assets/res/music/battle.mp3) file size: 312061
11-28 00:39:00.985: V/UrlAudioPlayer(4719): Current UrlAudioPlayer instance count: 1
11-28 00:39:00.985: V/UrlAudioPlayer(4719): UrlAudioPlayer::prepare: assets/res/music/battle.mp3, SL_DATALOCATOR_ANDROIDFD, 80, 39219652, 312061
11-28 00:39:00.995: V/AudioMixerController(4719): Play over ...
11-28 00:39:00.995: V/AudioMixerController(4719): Doesn't have enough tracks: 1, 1
11-28 00:39:01.175: I/FFMPEG(1496): Last message repeated 1 times
11-28 00:39:01.175: I/FFMPEG(1496): [mp3 @ 0xb828f540] Estimating duration from bitrate, this may be inaccurate
4、本以为上面问题解决就算完事了,没想到,在打包ios的时候,发现,ios没有声音,在引擎里面做打印后,发现,在decode的时候,音频解码失败,ogg解码失败,查询知道,原来ios设备不支持ogg,至少我用的6p不支持。ios换成mp3后,音效出来
====解决办法,用官方给出的方式,合并了音频代码部分,目前最新的3.17也已经解决了问题=============================================================
到这里,希望音频的问题都能解决了,不要在出问题了=============================================
by fish 2018-11-28