有没有办法检测在 MPMoviePlayerController
中播放视频时缓冲了多少数据?
我已经检查了 loadState
,但这并没有给我足够的缓冲信息。
Youtube 的应用正是我想要的...
最佳答案
您可以尝试在播放视频的过程中获取电影访问日志。
- (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];
关于iphone - MPMoviePlayer 流式视频缓冲区大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14066088/