【问题标题】:MPMoviePlayer streaming video buffer sizeMPMoviePlayer 流媒体视频缓冲区大小
【发布时间】:2012-12-28 07:21:43
【问题描述】:

有没有办法检测在MPMoviePlayerController 中流式传输视频时缓冲了多少数据?

我已经检查了loadState,但这并没有给我足够的关于缓冲的信息。

Youtube 的应用正是我想要的……

【问题讨论】:

标签: iphone ios streaming buffer mpmovieplayer


【解决方案1】:

您可以尝试在播放视频时获取电影访问日志。

- (void)calculateBufferSize
{
    NSArray *events = self.moviePlayerController.accessLog.events;
    int count = events.count;
    for (int i = 0; i < count; i++)
    {
        MPMovieAccessLogEvent *currentEvent = [events objectAtIndex:i];
        int64_t byte = currentEvent.numberOfBytesTransferred;
        int64_t bytes = currentEvent.numberOfBytesTransferred >> 10;

        NSLog(@"byte = %f M bytes = %lld", (float)byte / (1024 * 1024), bytes);
    }
}

那么你就可以通过如下方式调用上面的,

[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(calculateBufferSize) userInfo:nil repeats:YES];

之后

[self.moviePlayerController play];

https://developer.apple.com/library/ios/#DOCUMENTATION/MediaPlayer/Reference/MPMovieAccessLog_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40010561

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-16
  • 2014-01-17
  • 2017-07-10
相关资源
最近更新 更多