我的UICollectionView有一个水平流布局。每个单元占用整个屏幕并打开分页。每个单元格还包含一个MPMoviePlayerController,我可以毫无问题地播放视频。但是,如果我向左或向右滚动当前显示的电影(此时暂停)消失 - 播放器视图变黑。如果我然后触发播放,则视频会再次出现。我已经尝试在scrollview委托方法中添加prepareToPlay,以某种方式保持视频可见,但没有成功。
答案 0 :(得分:3)
您一次只能使用MPMoviePlayerController
的一个实例。这是MPMoviePlayerController
的限制。
在您的情况下,当您开始滚动时,应初始化至少两个MPMoviePlayerController
并尝试播放视频。 MPMoviePlayerController
无法做到这一点。
如果您想在同一屏幕中同时播放多个视频,可能需要考虑使用AVFoundation
。还有基于AVFoundation
的开源视频播放器。其中一个比从头创建一个AVFoundation
玩家更容易。
答案 1 :(得分:1)
当您滚动集合视图时,视图中的单元格将被集合视图“可重用池”机制重用,因此将删除现有的影片播放器并重置其状态。当单元视图再次可见时,将从池中获取视图(如果池为空,则创建一个新视图),并且需要重新配置它。 在这种情况下你能做些什么: