Creator 2.2.0华为快游戏播放音频卡得不行

音频做下预加载,可以优化这个问题。

        cc.loader.loadResDir("Sound/Room", cc.AudioClip, (error: Error, resource: any[]) => {
            console.log("音频加载完成");
        });

上面这样预加载还是卡,发现播放过的音频再次播放才不会卡顿,是不是哪里IO操作太耗时了没有异步处理

你的是华为哪个系统版本,我们游戏在华为10.0系统音效特卡,10.0系统以下版本就不卡。

Android 7.0、EMUI5.1.3,应该跟系统版本没关系,我用creator 2.0.10打的包跑是正常的,而且2.2.0我不勾选小包模式也是正常的,怀疑资源加载这里出的问题

试试使用AudioSource,设置好 src,这个音频对象就不会再次重复加载音频数据,或者提供下可以复现问题的demo,我们排查下

我们的音频文件比较多,不适合用AudioSource。demo我写好了你看看,第一次播放音频的时候是会卡的

HuaweiAudioDemo.zip (1.2 MB)

建议使用 AudioSource 做预加载,并实现音源复用,AudioEngine 会实时加载音频数据,对于多实例的音频播放效率并不高。

我们的游戏有一百多个音频文件,用AudioSource的话要拖到手抽筋:joy:

这样预加载,跟audioengine差不多,只是AudioSource需要自己管理
cc.loader.loadRes(“bomb”, cc.AudioClip, (err: Error, clip: cc.AudioClip) => {
// this.preload = new cc.AudioSource;
this.preload.clip = clip;
// 调用play加载资源
this.preload.play();
this.preload.pause();
});

发现同样的问题,从2.0.9升级到2.2.0之后,发现音频导致卡,很卡,掉帧厉害。 我们游戏使用音效评率高

我这边使用华为的一台android 4.3的设备测试,并没有出现卡顿问题,请确定是音频卡顿引起的,你可以使用AudioSource自己做缓存和添加删除管理。

我这不是华为设备 关了音频 没有卡 我现在尝试使用 AudioSource 试一下

最后还是把音频资源放在首包搞定了,引擎代码一头雾水实在看不懂,放弃改代码了。写了个插件可以方便打包,有需要的可以参考一下

1赞

把音频文件打到包里就不卡了?
可我的文件非常多啊。

我的也多120多个音频文件,打出的包有4M多,我只能这么干了:joy:

果然把音乐文件全打到rpk包里就不卡了。简直不能理解。

我把首屏资源也打进去了,感觉他好像把所有的json文件都打进去了。再加上音乐文件有6m多了。

我的也是所有json都被打进去了:disappointed_relieved: 不勾选首屏会报copy file failed、no such file之类的错

大佬~这个插件的代码文件方便发一下吗???

写了个通用的插件,你把options.actualPlatform改成huawei,queryAssets的路径改成音频文件夹就可以了
ddz_plugin.rar (1.6 KB)