unity + WebClient显示下载速度,当前下载量,下载总量
来源:互联网 发布:余额宝优化投资可信吗 编辑:程序博客网 时间:2024/06/05 04:44
在这资源更新的进度条显示时
using (WebClient client = new WebClient()) { sw.Start(); client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged); client.DownloadFileAsync(new System.Uri(url), currDownFile); }
注册上进度条下载的委托和下载完成的委托就可以了
在更新进度条的委托中可以得到下载的进度条和下载的总大小以及已经下载的大小。
用e.UserState可以取到传入的参数,由于是下载文件有可能下载多个但是更新进度条的方法都走的一个方法所以需要用UserState来取得对应下载任务的进度条。
下面贴一下这两个委托的实现方法,我将WebClient简单封装了一下。
private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e) { //下载的总量 PrecentData preData = new PrecentData(); preData.total = string.Format("{0} MB / {1} MB", (e.BytesReceived / 1024d / 1024d).ToString("0.00"), (e.TotalBytesToReceive / 1024d / 1024d).ToString("0.00")); preData.precent = (float)e.BytesReceived / (float)e.TotalBytesToReceive; string value = string.Format("{0} kb/s", (e.BytesReceived / 1024d / sw.Elapsed.TotalSeconds).ToString("0.00")); preData.speed = value; Loom.QueueOnMainThread((param) => { NotificationCenter.Get().ObjDispatchEvent(KEventKey.m_evDownload, preData); }, null); NotiData data = new NotiData(NotiConst.UPDATE_PROGRESS, value); if (m_SyncEvent != null) m_SyncEvent(data); if (e.ProgressPercentage == 100 && e.BytesReceived == e.TotalBytesToReceive) { sw.Reset(); data = new NotiData(NotiConst.UPDATE_DOWNLOAD, currDownFile); if (m_SyncEvent != null) m_SyncEvent(data); } }
要显示下载百分比使用
string.Format("{0} MB / {1} MB", (e.BytesReceived / 1024d / 1024d).ToString("0.00"), (e.TotalBytesToReceive / 1024d / 1024d).ToString("0.00"));
要显示当前的下载速度
string.Format("{0} kb/s", (e.BytesReceived / 1024d / sw.Elapsed.TotalSeconds).ToString("0.00"));
阅读全文
0 0
- unity + WebClient显示下载速度,当前下载量,下载总量
- 使用WebClient实现下载
- WebClient下载文件代码!
- WebClient下载文件
- HTTP下载webClient
- C#下载文件:WebClient
- 使用WebClient下载
- WebClient下载图片示例
- WebClient异步下载文件
- WebClient类数据下载
- webclient下载文件
- c# webclient下载网页
- WebClient下载网站源码
- webclient 开启gzip下载
- webrequest与webclient 下载文件,显示进度(访问网页)
- Android实时获取当前下载速度
- WP7-文件下载进度和速度显示
- android 多线程下载 显示进度 速度
- 无法使用aliyun的maven镜像
- 【分布式系统】Consistent Hashing
- android APM 实现手记
- git深入学习(二)
- JAVA主函数(main)
- unity + WebClient显示下载速度,当前下载量,下载总量
- JAVA static 关键字
- isca2017_papers笔记: Stream-Dataflow Acceleration
- JAVA抽象类
- JAVA数组
- 逻辑运算符
- Centos 7 删除/python/site-packages/ 没有yum的处理办法
- JAVA函数
- 易语言九九乘法表