- (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);
}
}
获取视频缓存进度
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- SDWebImage 从缓存中获取图片,当缓存中没有图片的时候 会从网上获取图片 userdefalt中的数据是u...
- 使用到的第三方库:NJKWebViewProgress 使用:采用代理方式,在代理中获取进度,并赋值给进度条。具体...