У меня есть несколько видео, показанных в UICollectionView; когда приложение загружено, оно работает нормально, а когда пользователь прокручивает UICollectionView, видео не загружаются, а все ячейки отображаются серым цветом и никогда не заполняются правильным видео, даже если в отладке я вижу правильный URL-адрес mp4.
Вот код:
func collectionView(cv: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let videoCell = collectionView!.dequeueReusableCellWithReuseIdentifier("VideoCell", forIndexPath: indexPath) as? UICollectionViewCell
var aPlayer = AVPlayer()
let moviePlayerController = AVPlayerViewController()
let item = self.wall[indexPath.row]
print("URL:"+item.video_link)
let fileUrl = NSURL(string: item.video_link)
dispatch_async(dispatch_get_main_queue(), {
aPlayer = AVPlayer(URL: fileUrl!)
moviePlayerController.player = aPlayer
moviePlayerController.view.frame = CGRectMake(0, 0, videoCell!.frame.size.width, videoCell!.frame.size.height)
moviePlayerController.videoGravity = AVLayerVideoGravityResizeAspectFill
moviePlayerController.view.sizeToFit()
moviePlayerController.player?.actionAtItemEnd=AVPlayerActionAtItemEnd.None
NSNotificationCenter.defaultCenter().addObserver(self,
selector: "playerItemDidReachEnd:",
name: AVPlayerItemDidPlayToEndTimeNotification,
object: moviePlayerController.player!.currentItem)
moviePlayerController.showsPlaybackControls = false
moviePlayerController.player?.play()
/*
videoCell?.layer.shouldRasterize = true;
videoCell!.layer.rasterizationScale = UIScreen.mainScreen().scale;
*/
videoCell!.addSubview(moviePlayerController.view)
})
return videoCell!
}
Может ли кто-нибудь помочь мне понять проблему?