iOS中的Vine风格视频播放

时间:2014-05-12 23:28:07

标签: ios objective-c video

我正在寻找适合iOS的藤蔓式视频播放控件。这意味着,一旦tableviewcell中包含的视频出现,它就会自动播放,而不会在iPhone上弹出恼人的单独模式。这样的事情是否已经存在或我应该自己编码?

由于

1 个答案:

答案 0 :(得分:1)

你必须自己编写代码。我几天前实现了这个,这有点痛苦。我所做的是首先确保每个视频的屏幕高度与下一个不同(tableview单元格高度应该是屏幕高度)。然后,在我的自动播放方法中,我查看所有可见的单元格,并检查视频播放器的帧的左下角是否在屏幕上。如果是,则播放该单元格中的视频。这是一些示例代码。可能需要调整的令人讨厌的事情是点检测。

更新:删除了毛躁的旧代码。新实施的说明工作要好得多。

首先,跟踪正在播放可变数组的单元格:playingCells

以下是我的自动播放方法的要点:

  • 遍历tableview的可见单元格
  • 每个单元格检查您正在添加AVPlayerLayer的帧的左下角是否在屏幕上
  • 如果该点在屏幕上:
    在播放细胞中停止播放所有视频,除了屏幕上有点的视频(停止播放方法如下)
    将单元格添加到可变数组(ivar)以跟踪正在播放的单元格 播放视频
    打破循环以防止任何其他可见细胞播放

停止视频的方法如下:

  • 循环播放游戏
  • 如果单元格不等于当前正在播放的单元格(在自动播放调用期间作为参数传入),则将AVPlayerLayer和AVPlayer设置为nil