请问Creator 3D playOneShot Bug

引擎版本:1.0.4

平台:web

playOneShot() 无法stop()

改用play()播放就可以执行stop()

@panda @JayceLai @gameMaster

playOneShot 函数的设计就是 “播完就忘” 风格地快速播放大量简单的音效,unity 也有一样的设计,如果需要精确控制播放暂停,正常用 play 就好。

个人觉得这个设计是对的。有时候需要声音叠加的效果,比如机枪扫射。连续高频的声音叠加的,如果你播放下一个就把前面的停了,那不是很奇怪吗?
如果要播放新的,停止前面。我去可以自己手动停止可选。比如playOneShot之前,先stop一下。或者就有play

如果游戏有需求要做到音效叠加又要随时的控制暂停播放。play也无法做到啊。playOneShot又无法去控制暂停和播放

除了 playOneShot 接口,audioSource 本身是不支持音效叠加的,一个 audioSource 就是一个音源

如果游戏有需求要做到音效叠加又要随时的控制暂停播放

目前看来这个需求是比较少的,音效一般都是短音频,对控制的需求比较少
如果需要做到这样,就需要多个 audioSource 才行了

多个audioSource去播放同个clip, 测试也是一样。播放前会先停掉其他同相同的clip…

这是个已知问题,我们将在 3.1 里修复哈

常驻节点添加了AudioSource会在切换场景时导致正在播放的音频被暂停或停止,这个问题有处理办法么

这块我们之前也收到类似的反馈了,我们内部反馈下,看要不要从常驻节点的组件生命周期里去解决下这个问题,会在后续的版本里处理下这个问题

暂时可以先在组件 onEnable 的时候强制 AudioSource 继续播放