3.13 安卓声音如果没有预加载 直接在 主线程 卡顿3秒??

3.13 安卓声音如果没有预加载 直接在 主线程 卡顿3秒??
你们会这样吗?

进入场景前是否有调用AudioEngine::preload接口预加载游戏场景可能会播放的音效文件?

会,我的需求需要加载上百个音效。会有最多10个音效同事播放。卡顿现象非常严重。
预加载也没用。

如果音效文件过大,会使用旧的方式播放。
能否整理一个demo发给我重现一下?

没有预加载的情况,目前播放声音的时候会解码完整的音效文件为PCM Buffer,解码过程可能占用100-200ms不等吧。
3秒的确有问题,能否整理一个重现demo出来?

应该是我的问题, 我在 调用 了 预加载之后, 并没有等他加载完, 就马上去播放了。 可能这样会 造成重复预加载等问题吧。但在3.12是没有问题的。而且 记得预加载声音文件, 以前好像都是在另一个线程啊。
还有 https://github.com/cocos2d/cocos2d-x/issues/16473
这个很奇怪, 如果不开热更, 直接从包里读资源, 播放背景音乐是没问题, 开热更, 从缓存目录里读资源, 背景音乐播放不了, 报错, 但音效又可以。

嗯,预加载一定要设定第二个加载成功的回调参数,只有当所有音效都预加载完成才进入场景比较合适。

第二个问题我稍后确认一下。

一边加载一边播不行吗

这个在Android上还没有实现,后续版本中会做这个功能。

目前还是需要preload比较好,这样在播放的时候延时也会低很多。

我的意思是一边preload 等preload完成以后在播放 但是是同时进行的 我这边有几个关于AndioEngine版本的问题 在这个帖子麻烦作者大大帮看下

http://forum.cocos.com/t/3-13-android-preload/39376

重加载确实会卡死 测试了一下 如果这边在预加载 a.mp3 然后那边又在播放同一个音效 a.mp3 确实会卡顿
如果重复预加载 a.mp3 那就直接卡死

重复预加载是指?

AudioEngine::preload("111.mp3", cb);
AudioEngine::preload("111.mp3", cb);

?

是的 不只是这样 比如第一次已经加载完成 然后第二次又来调用 直接卡死 那个已完成直接回调的判断处理貌似无效

贴贴代码片段看看吧,或者能有个重现demo就更好了。