SimpleAudioEngine::sharedEngine()->preloadEffect在多线程下的问题

因为项目音效文件比较多,加载慢,所以考虑起一个线程来preloadeffect。
在ios下面没有问题,但是在android真机上就会闪退。
打印信息:failed to find class org/…/cocos2dxhelper
报错信息:错误代码11,内错报错

cocos2d-x:2.0.3

后面针对SimpleAudioEngine加了线程锁也还不行。

我也遇到这个问题了。我把SimpleAudioEngine放在线程外初始化一个static实例再线程中加载音效也是报和你同样的错误。希望高手出来指点下。

我也遇到了这个问题。。你们解决了吗

楼主解决了吗?

启动音效前,可以在load的时候 先预加载,没有必要,加载完了就删除,在用的时候在加载,会损失效率, 音效的使用个数也是有限制的, 最好别同时超过3~4个把, 背景音乐 是没有必要在load的时候设置的,因为2.x里面的背景音乐都是直接加载的,没有预加载这一说

我也遇到这个问题,求解决方法

子线程,无法调用jni的接口,否则会闪退

请问楼主解决了么?求解答

参考http://tonybai.com/2014/04/28/multithreaded-resource-loading-in-cocos2dx-3/

在多线程加载声音之前,先调用一次SimpleAudioEngine::getInstance()试试,如果在多线程之前没调用过SimpleAudioEngine::getInstance()是会crash

异步预加载的音效播放不了

这个应该是可以的,只不过在android下是需要不同的detach 的方式的