首页 > 应用开发 > IT综合 > 进行直播软件开发,实现直播短视频的列表播放
这一篇,我们来进行直播软件开发的列表播放视频。
先说下原理,这里用到了RecyclerView的onScrolled和onScrollStateChanged 监听,在onScrolled中判断当前可见的position,结合onScrollStateChanged中返回的当前RecyclerView的滑动状态,当是拖动和停止滚动时,可以播放;当是惯性滑动时,暂停播放。
关于RecyclerView3种滑动状态,RecyclerView.SCROLL_STATE_IDLE,RecyclerView.SCROLL_STATE_DRAGGING,RecyclerView.SCROLL_STATE_SETTLING,大家可以自行百度,这里不做过多的描述了。
布局就是一个RecyclerView,就不贴了,下面是Adapter
Adapter这里自己做了个封装,可以用原生或者其他封装比较好的,这里就不贴了
布局如下
这里使用的是 ,其中MyVideoPlayer 是之前公司项目需要,对其做的个性化定制,这里下面再说。
下来就是直播软件开发的核心,通过判断可见项,暂停/播放视频,代码如下
顺便说一下,为啥用JiaoZiVideoPlayer进行直播软件开发,就是因为 JZVideoPlayer.releaseAllVideos();,一句代码就可以暂停所有的播放器,否则自己要实现这个还是比较麻烦的
到这里,直播软件开发的列表播放大概功能已经实现了,下面说说定制化的功能。需要去掉原播放器的进度条、按钮,点击视频,全屏播放,再次点击取消全屏。
我的做法是添加一个透明度为0的布局,覆盖在播放器上,这样实际上点击的是我们添加的布局
这里有个小技巧,可以粘贴源码中的布局,重要的事情说三遍,不要修改文件名、不要修改文件名、不要修改文件名,找到相关布局,设置android:visibility="gone",这样我们的项目中的布局就会替换掉原来的布局。
完整代码如下
jz_layout_standard.xml
还需要实现循环播放,这个比较简单,重写onAutoCompletion方法,当其播放完成时,继续播放即可。
到这里,直播软件开发的列表播放这个功能已经完成了。
声明:本文由云豹科技转发自欢子-3824博客,如有侵权请联系作者删除
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69982461/viewspace-2792453/ ,如需转载,请注明出处,否则将追究法律责任。