creator2.2.1。项目里面现在想实现一项功能,就是从目标地址下载音乐到本地然后播放,然后想做一个下载进度的进度条。但是我看了creator并没有这样的的接口,loadRes的进度是针对一个资源列表的,并没有单独加载一个资源的进度。请问这个有实现的方案吗
用cc.loader的话一个只有0-1 我之前也是这个需求 后来的解决方案是自己做了个假的 比如开始load就播一个0-0.9的动画 然后什么时候收到完成回调直接从当前到1 不过这样需要你的每个文件大小都差不多 差的太多就会有点违和 因为前面都是一样的 只是最后那0.1的时间不一样
这有点假,而且音乐文件大小差别还是挺大的,不适合。谢谢哈
音乐文件名中加大小?根据大小做假动画?
这,感觉有点假
。有方案可以做比较真实的吗
今天有空试了下 是支持进度的 这是2.4.4的代码
const url = 'http://10.10.38.128:3000/zipRes/ket_audio/123.mp3'; cc.assetManager.loadRemote(url, { onFileProgress: (current, total) => { console.log('下载进度', current, total) } }, () => { console.log('下载完成') })
引擎源码在 download-file.js 里面
if (onProgress) { xhr.onprogress = function (e) { if (e.lengthComputable) { onProgress(e.loaded, e.total); } }; }
测试了 网页预览 模拟器预览 ios真机都是可以的
理论上2.2.1里面的loder也是可以的 可以找下源码看看
好的,我去看看。在2.2.1里面还没有assetManger这个类。