0

在我的 Iphone 应用程序中,我正在将视频上传到服务器。我可以找出总咬数和上传咬数。有没有办法找到上传过程完成的剩余时间

我正在打印这样的咬痕-----上传的字节数-----总字节数-----------

2013-02-07 01:25:33.439 VideoProject[9170:907] ------32768------2195238-----------
2013-02-07 01:25:33.451 VideoProject[9170:907] ------65536------2195238-----------
2013-02-07 01:25:33.456 VideoProject[9170:907] ------98304------2195238-----------
2013-02-07 01:25:33.462 VideoProject[9170:907] ------131072------2195238-----------
.
.
.
.
2013-02-07 01:25:54.443 VideoProject[9170:907] ------2129920------2195238-----------
2013-02-07 01:25:54.449 VideoProject[9170:907] ------2145728------2195238----------- 
2013-02-07 01:25:55.215 VideoProject[9170:907] ------2162688------2195238----------- 
2013-02-07 01:25:55.222 VideoProject[9170:907] ------2193380------2195238-----------
2013-02-07 01:25:55.542 VideoProject[9170:907] ------2195238------2195238-----------
4

3 回答 3

1

您可以保存开始日期,并在每次调用进度函数(或块)时,计算自开始以来经过的时间,并通过简单的交叉乘法找到估计的剩余时间量,因为您知道还剩多少字节:

elapsed_time * total_bytes = total_time * downloaded_bytes
remaining_time = total_time - elapsed_time

但是,是的,网络状况可能随时变化,所以这并不准确。

于 2013-02-07T06:43:00.690 回答
1

使用可达性你可以实现这个点击这里

使用可达性你可以计算网络的速度,然后用这个速度你可以划分剩余的字节,并可以产生上传剩余时间等的结果。

希望这可以帮助..

于 2013-02-07T06:47:58.170 回答
1
  • 以秒为单位获取上传字节的时间。
  • 以秒为单位估计总时间。这可以通过比较字节找到
  • 通过寻找差异找到剩余时间。
  • 使用以下获取小时,分钟,秒。

`

- (NSDictionary*)createTimemapForSeconds:(int)seco                                   
  {
       int hours = floor(seco / (60 * 60) );

       float minute_divisor = seco % (60 * 60);
       int minut = floor(minute_divisor / 60);

       float seconds_divisor = seco % 60;
       seco = ceil(seconds_divisor);

       NSDictionary * timeMap = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:[NSNumber numberWithInt:hours], [NSNumber numberWithInt:minut], [NSNumber numberWithInt:seco], nil] forKeys:[NSArray arrayWithObjects:@"h", @"m", @"s", nil]];

       return timeMap;
    }
于 2013-02-07T06:58:28.073 回答