- (void)addNotificationCenters {
//注册观察者监听是否完成播放
[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(moviePlayDidEnd)name:AVPlayerItemDidPlayToEndTimeNotificationobject:nil];
//监控状态属性,注意AVPlayer也有一个status属性,通过监控它的status也可以获得播放状态
[self.playV.playItemaddObserver:selfforKeyPath:@"status"options:NSKeyValueObservingOptionNewcontext:nil];
//监控网络加载情况属性
[self.playV.playItemaddObserver:selfforKeyPath:@"loadedTimeRanges"options:NSKeyValueObservingOptionNewcontext:nil];
}
//监听执行的方法(缓冲进度)
- (void)observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void*)context {
AVPlayerItem*playerItem = object;
if([keyPathisEqualToString:@"loadedTimeRanges"]) {
NSArray*loadedTimeRanges = [[self.playV.playercurrentItem]loadedTimeRanges];
CMTimeRangetimeRange = [loadedTimeRanges.firstObjectCMTimeRangeValue];//获取缓冲区域
floatstartSeconds =CMTimeGetSeconds(timeRange.start);
floatdurationSeconds =CMTimeGetSeconds(timeRange.duration);
NSTimeIntervalresult = startSeconds + durationSeconds;//计算缓冲总进度
NSLog(@"当前缓冲%.2f", result);
}
}
获取视频缓存进度
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- SDWebImage 从缓存中获取图片,当缓存中没有图片的时候 会从网上获取图片 userdefalt中的数据是u...
- 使用到的第三方库:NJKWebViewProgress 使用:采用代理方式,在代理中获取进度,并赋值给进度条。具体...