cocos3D对于同一个声音,无法做到多重播放的问题

版本:1.0.2版本
场景:每当敌人死亡的时候需求播放一个金币掉落的音效,大概2秒。
因为敌人很多个,所以期望的是,每个敌人死亡的时候掉落的音效是独立的。
如果使用AudioScoure的话,文档上也说了重复调用play会重置之前的播放进度从0开始播放。所以我使用了如下的代码

loader.loadRes('audio/golddroplong', AudioClip, (err,clip)=>{
      clip.play();
})

经过测试,发现每次敌人死亡,我load出来的AudioClip都是同一个,导致我的音效无法做到多个音效独立的播放。这种应用场景相信很多游戏都会需要。希望引擎组的大佬们,给出一个解决方案

目前微信平台确实遇到了这个问题,我的解决方案是如果是微信平台,使用微信自己的提供的接口进行播放

这的确是引擎默认行为,也是出于性能考虑,每次 load 都重新创建的话会很费,如果从头重新播放的效果的确不满足需求的话,目前只能手动调用 wx.createAudioContext() 了(可以把代码包在 CC_WECHATGAME 的 if 分支内,不影响其他平台),抱歉

那网页平台和原生平台,这个问题有解决的办法吗

H5 平台只要支持 web audio api,默认效果就是满足需求的,原生不确定

我也碰到这个问题了,原生怎么解决呢?@panda

忘记说了,音效多播的需求不管哪个平台,上层接口都要用 playOneShot,这样在 web audio、原生和一部分小游戏平台就已经能多播了,dom 和微信默认的确不支持,目前如果需要可以直接调用平台相关的接口,后面会提供 audio clip 资源的 clone 接口