美文网首页
使用TableView进行循环播放视频

使用TableView进行循环播放视频

作者: 豌豆大师 | 来源:发表于2018-11-12 21:09 被阅读6次

    之前做的项目中有类似抖音播放视频的功能,并且需要添加上下拉刷新、上拉加载、左滑进入商品详情、右滑进入店铺的功能。故考虑用UITableView来实现这个功能。其中视频的循环播放用的UITableView实现,左右滑动用的转场动画实现。

    关键代理方法 UIScrollViewDelegate

    我们知道UITableView是继承自UIScrollView

    //在这个代理方法中获取到当前屏幕展示的Cell
    - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
        NSInteger index = scrollView.contentOffset.y/_playerScrollTab.frame.size.height;
        //因为每次拖动都会走此代理方法。如果当前展示Cell没有发生变化,则不用做处理
        if (index==endScrollIndex) {
        }else{
            endScrollIndex = index;
            [self playVideo];
        }
    }
    
    //重新初始化播放器,或者是重置播放器,播放新的视频url
    - (void)playVideo {
        PlayerScrollCell *cell = [_playerScrollTab cellForRowAtIndexPath:[NSIndexPath indexPathForRow:endScrollIndex inSection:0]];
        VideoModel *willPlayModel = _videoDataArray[endScrollIndex];
        _playUrl = [NSURL URLWithString:willPlayModel.videoUrl];
        [cell addSubview:self.player.playerView];
    }
    

    备注:因为我的项目中使用的是PLPlayer,没有重置方法。所以我将上一个player释放,并且代理置nil。重新创建进行添加。实测中并没有很大的性能差异。其它比如金山等播放器都有reset方法,可以进行播放器重置。

    相关文章

      网友评论

          本文标题:使用TableView进行循环播放视频

          本文链接:https://www.haomeiwen.com/subject/bgqhfqtx.html