幽映每白日,清辉照衣裳。这篇文章主要讲述Android------视频播放器(包含全屏播放,快退,快进,腾讯新闻的列表播放等)相关的知识,希望能为你提供帮助。
前段时间做了一个新闻APP,涉及到了列表视频播放,和腾讯新闻APP差不多,总结了一下代码,写了一个Demo来分享给大家。
用了
TabLayout+RecylerView+自定义视频控件
完成的 列表中支持全屏播放
来看看效果图:
文章图片
文章图片
列表类代码:
public class ZQFragmentTabItem extendsBaseFragment{RecyclerView recyclerView; AdapterRecyclerViewVideo adapterVideoList; public static ZQFragmentTabItem newInstance() { ZQFragmentTabItem fragment = new ZQFragmentTabItem(); return fragment; }private View rootView; @Override protected View getContentView(LayoutInflater inflater, ViewGroup container) { rootView = inflater.inflate(R.layout.recyclerview_video_layout, container, false); return rootView; }@Override protected void initViews(View contentView) {recyclerView = (RecyclerView) rootView.findViewById(R.id.recyclerview); recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); adapterVideoList = new AdapterRecyclerViewVideo(getActivity()); recyclerView.setAdapter(adapterVideoList); recyclerView.addOnChildAttachStateChangeListener(new RecyclerView.OnChildAttachStateChangeListener() { @Override public void onChildViewAttachedToWindow(View view) { }@Override public void onChildViewDetachedFromWindow(View view) { ZQVideoPlayer jzvd = (ZQVideoPlayer) view.findViewById(R.id.videoplayer); if (jzvd != null & & ZQUtils.dataSourceObjectsContainsUri(jzvd.dataSourceObjects, ZQMediaManager.getCurrentDataSource())) { ZQVideoPlayer.releaseAllVideos(); } } }); }@Override protected void initListeners() {}@Override protected void initDatas() { } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); }@Override public void onPause() { super.onPause(); ZQVideoPlayer.releaseAllVideos(); } }
当然我这也参考了其他小伙伴的案例,然后才写的。
参考的地址:
https://gitee.com/nathen/jiecaovideoplayer
https://gitee.com/weituotian/WeituotianVideoandroidApp
https://gitee.com/luorenjiejie/ShiPin
希望对开发者的小伙伴们有帮助。
代码下载Github:https://github.com/DickyQie/android-video/tree/video-related-cases【Android------视频播放器(包含全屏播放,快退,快进,腾讯新闻的列表播放等)】
推荐阅读
- There is no Action mapped for namespace [/] and action name [Login] associated
- Android------实现图片双击放大,缩小,左右滑动的多种方式
- Android 常见异常及解决办法
- Attempt to invoke virtual method 'void android.support.v7.app.ActionBar.setHomeButtonEnabled(boo
- Android Studio 查找aar依赖的顺序
- 安卓BLE连接CC2541开发记录
- Win10系统Compact压缩技术运用图文详细教程
- win10系统Realtek HD Audio驱动成功安装的办法
- win10打开compact模式办法