引擎源码注释是骗人的吗?

引擎源码注释是骗人的吗?还是我的做法不对呢?说好的会发出started和ended事件却没有任何动静。

play和playOneShot都试过了,我也尝试过把AudioSource加入到Node节点,然后监听Node节点的事件。然而都没任何动静。

我想监听到声音播放结束的事件。

最新版吗?3.1.0更新日志中有提到 Cocos引擎_游戏开发引擎
Breaking Changes

  • 移除了 AudioClip 的播放接口,并且不支持 started 事件监听,AudioClip 现在是纯音频资源类型

不知有没有关系?

对的 3.1.0

我看过源码了,现在的播放是由AudioSource来控制了。可不管什么类控制也得有事件才对呀

那也许需要自己编写判定音频播放结束的代码了,AudioSource组件里有getCurrentTime和getDuration方法,应该能用上?

是可以实现,但这明显是引擎的工作呀,升级后功能还变少了 :joy:

写一个子类继承AuidoSource,在子类中访问_player,在子类中写事件监听
image

audioClip 的接口已经废弃了,
3.3 会支持一下 audioSource 的事件监听

暂时可以参考楼上的做法