3.3.2微信小游戏音效,Android卡顿,iOS直接无声

使用上传的Demo打包微信小游戏,注意看文字描述,就可以重现。

Demo.zip (21.1 KB)

更新:3.4.1也有问题

补一下代码,方便各路大神不用打开demo直接看,看看能否发现问题。

Cocos Audio:

Cocos Audio One Shot:

Wechat Audio:

2赞

自顶,很急

ios 测试有声音,iphon7 15.2 微信 8.0.16(3.3.2,3.4.1 都有)
安卓是有卡顿,同时响的问题,微信音效和 playoneshot 在按快的情况下都有听到
ios 没声音的测试机型,系统版本是?

iOS我今天直接扫码再试确实又有声音了,机型iPhone 8P 微信8.0.18。
不过我的手机微信小游戏体验确实很差,很多莫名其妙的问题,隔壁iPhone 7P都比我好。iOS的问题先无视吧。

安卓的卡顿在我这里是很明显的,这样来测试:
第一次启动游戏,狂点10下(大概)【cocos 音效】,然后放着不动,在接下来的10秒内,会听到音效,陆陆续续播放。

同样的场景,另外两个测试按钮,就算点再快,也是音效有一点重叠,这是正常的,不会说10秒前点了按钮,10秒后才有声音。

机型:
vivo x21A
红米K40

微信版本:
8.0.18

已复现,已建立 issue 跟进,有进展会直接同步在这,感谢反馈!

好的,坐等好消息

我这边用wx.createInnerAudioContext 苹果微信不断点击,3-5秒就回闪退
用creator的AudioSource延迟又很严重,不知道用那个接口了,体验都不行

我这边倒是没闪退,你播完音效删除试试
innerAudioContext.onError((res) => {

        innerAudioContext.destroy();

    });

    innerAudioContext.onStop((res) => {

        innerAudioContext.destroy();

    });

我时创建了innerAudioContext之后缓存起来了的,下次播放就没再创建了
你这种方式每次创建,我试试

测试了,用完直接destroy,应该可用性,同样点法暂时没崩溃了

嗯,等官方修复吧。 不过有延迟的是play接口。 playoneshot应该是好的。

嗯,用playonshot好的,但是有时候有叠音。innerAudioContext体验好一些

苹果还是崩溃,算了,不用innerAudioContext了

请问有解决方案吗?因为playoneshot不支持loop, 所以一些循环音效还是得用play。
修改引擎能解决吗,先解决上线问题

用 audioSource play 来播放音效是成本很高的,延时也会比较高一些,
是否考虑有 loop 需求的音效才这样子使用呢

或者使用 audioClip play 来播放,这个是目前的废弃方案,不过也是能考虑的成本相对比较低的

我们之后考虑提供 类似 audioEngine 的接口,不依赖音频组件,不过现阶段可以先考虑上面提到的方案

是的,目前只有loop情况才会考虑用play。 非loop都换成play one shot了。
我试试 audioClip play

哦,audioClip play 不支持多播,还是前面一个方案比较靠谱

播放完成回调的情况,需要play吧,playonshot在web上可回调,微信版本测试无回调

嗯,只是我目前的使用场景暂时不需要回调

@_PP 回调问题能提上日程修复一下吗,产品不敢上线