3.10是没有这种卡顿问题,升级到3.13.1后出现这种问题。真坑。我都预加载了,第二次播放还是卡顿。连循环播放音乐也卡顿,我也醉了。
我也这样,进入后台,卡的滋啦滋啦。还有你有没有退出程序 报错的问题?
请问是怎么预加载的,是否有等到预加载结束?
void preload(const std::string& filePath, std::function<void(bool isSuccess)> callback);
请务必监听要预加载的文件的callback都有被调用。preload是一个异步接口,上层需要自己等待回调成功。期间可以做一些loading的动画处理。
我没有加播放音乐,走到这里会报错
还有退出程序的时候 ios 端走到这里报错
这是怎么回事?
走到这里 newDevice为null 是不是这个原因?
你是用Audio Engine还是SimpleAudioEngine?
把Appdelegate.cpp中的SimpleAudioEngine::getInstance()->pauseXXX()和resumeXXX()都注释掉试试?
我估计你是用了AudioEngine然后AppDelegate中前后台调用使用了SimpleAudioEngine导致的openal的错误。
我看了下源码,creator确实是用的audioEngine,把这里注释掉了,进入后台不报错了。但 退出游戏的时候报错,完全新建空的工程。清理内存的时候 就报错。 是不是源码在这个地方没处理好?找这个问题找了好久了,看我这个帖子,http://forum.cocos.com/t/ios/41858。
ios 怎么退出游戏啊?ios不是只能home键最小化么?
确认了,有这个问题,杀进程崩溃问题,请在另外一个帖子讨论吧。
我预加载后隔了好久才播放的,所以预加载肯定完成了,我第二次单步进去发现cache里已经有的了,但就是不知道为啥卡一下。我用的SimpleAudioEngine,但是我用AudioEngine播放就没这个问题。但是用AudioEngine和SimpleAudioEngine混合时,在ios上AudioEngine的声音播不出来,网上有人说不能混用,也是醉了。
是的,不能混合用的。目前在ios上存在冲突。
建议都别混合用。那就用AudioEngine啊,AudioEngine会有什么问题么?
问题就是我之前是不混用的,单独使用simpleAudioEngine,出现了我说的卡顿问题。后来发现audioengine没卡顿问题,才混用的。
simpleAudioengine对音效音频有啥要求吗
问题解决了么?
SimpleAudioEngine的卡顿问题是在哪个平台出现的?代码中只用AudioEngine是否没问题了?
改用audioengine卡顿没那么明显了,但是在米5的android7上卡到无法接受。
04-08 22:04:22.868: E/libOpenSLES(16861): frameworks/wilhelm/src/android/AudioPlayer_to_android.cpp:412: pthread_mutex_lock_timeout_np returned 110
04-08 22:04:22.969: E/libOpenSLES(16861): frameworks/wilhelm/src/android/AudioPlayer_to_android.cpp:412: pthread_mutex_lock_timeout_np returned 110
还有这个死锁问题。跟这个哥们一样http://www.cocoachina.com/bbs/read.php?tid=1679095
cocos2dx 3.14.1 用SimpleAudioEngine::getInstance()->playEffect播放音效掉帧,卡顿,有没有什么解决方案