我有一个AVPlayer
在单元格内部的集合视图,并且在循环播放时AVPlayer
开始播放AVPlayerItem
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
被调用。这很好用,但问题是在AVPlayer
播放项目几次后,视频不再显示,但我能听到它的声音。@"playbackBufferFull"
我还为每个播放的项目的值添加了一个观察者:
[item addObserver:self forKeyPath:@"playbackBufferFull" options:NSKeyValueObservingOptionNew context:nil];
我注意到,当视频停止时,值的观察者方法@"playbackBufferFull"
被调用,首先我想知道是什么导致缓冲区变满,第二个也是最重要的是如何AVPlayer
在视频停止时恢复;我尝试调用[cell.videoPlayer play];
并用新的项目替换该项目,但它不起作用,观察者方法:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object
change:(NSDictionary *)change context:(void *)context {
if ([object isKindOfClass:[AVPlayerItem class]] && [keyPath isEqualToString:@"playbackBufferFull"])
{
//this method is get called when the video stop showing but i can still hear it
//how can i resume the video?
}
}