AudioLoader
在加载缓冲区后调用scope.manager.itemEnd
(通过文件加载器),但在解码后调用它自己的onLoad
。 由于解码缓冲区是异步的(或者至少有一个回调),如果音频加载器是加载管理器队列中的最后一个加载器,则管理器认为它的所有项目都已完成,但个别加载器还没解析完。 我们在预加载情况下注意到了这一点,并且必须实现我们自己的加载队列,该队列使用每个项目onLoad
来勾选完整的项目。
不幸的是,在查看 FileLoader/AudioLoader 源代码时,我不确定如何解决这个问题,或者这是否是一个问题; 也许最简单的解决方案是在文档中澄清LoadingManager#onLoad
仅表示网络请求已完成,并不表示数据已被解析。
嗯,所以我猜AudioLoader不应该将管理器传递给FileLoader
并调用函数本身?
这肯定会为自定义加载管理器修复它。 默认加载管理器仍然会忽略解码回调,但是有多少人在这种情况下使用默认加载管理器?
我遇到了同样的问题。 目前,在经理onLoad
回调触发后无法安全地播放音频文件。
最有用的评论
嗯,所以我猜AudioLoader不应该将管理器传递给
FileLoader
并调用函数本身?