在tableView单元上播放视频的最佳实践是什么?

时间:2018-09-05 09:36:34

标签: ios swift

我可以在tableViewcell上播放视频,但是我不知道最佳做法。 我在tableview单元上创建avplayer视图控制器。通话时播放视频(tableView:cellForRowAt:indexPath :),但效果不佳。

class NewsfeedVideoCollectionViewCell: UICollectionViewCell, Reusable, NibLoadable {
var playerVC: AVPlayerViewController?

override init(frame: CGRect) {
    super.init(frame: frame)

    let url = URL(string: "https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8")!
    player = AVPlayer()
    playerVC = AVPlayerViewController()
    playerVC!.player = player
    contentView.addSubview(playerVC!.view)
    playerVC!.view.frame = contentView.bounds
}

1 个答案:

答案 0 :(得分:1)

我认为您应该这样做:

  1. 在父级View Controller中保留一个播放器实例。 (每次在单元格中启动玩家并不是一个好主意)
  2. 当细胞从可见空间移出时停止播放

  3. 在任何情况下都要为重新使用做准备以进行新的重复使用

  4. 当usr选择一些新单元格时。停止上一个视频并将视频播放器插入到准备好的帧中的选定单元格中

所有取决于您的要求。每个单元格中的恕我直言AVPlayer都不是好主意,这与使用大量内存以及开始/暂停/停止处理有关。