效果图

demo已上传到coding,欢迎clone,https://e.coding.net/zhangjinhome/demo/GsyVideoPlayerDemo.git

  • 导入gsy库:

github仓库地址:https://github.com/CarGuo/GSYVideoPlayer

增加jitpack和阿里云代理地址:

allprojects {repositories {...maven { url 'https://jitpack.io' }maven { url "https://maven.aliyun.com/repository/public" }}
}

添加gsy依赖:

    implementation 'com.github.CarGuo.GSYVideoPlayer:GSYVideoPlayer:v8.1.7-release-jitpack'
  • 辅助操作

  • minSdk调至19: minSdkVersion 19
  • 添加网络权限:
    <uses-permission android:name="android.permission.INTERNET" />
  • 添加multidex(详见Demo源码)
  • 设置横屏
            android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize|uiMode"android:screenOrientation="landscape"
  • 引入并使用

布局代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/activity_play"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#000000"><com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayerandroid:id="@+id/video_player"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_centerInParent="true" /></RelativeLayout>

MainActivity.java代码:

public class MainActivity extends AppCompatActivity {StandardGSYVideoPlayer videoPlayer;OrientationUtils orientationUtils;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);if (getActionBar() != null) {getActionBar().hide();}if (getSupportActionBar() != null) {getSupportActionBar().hide();}getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);init();}private void init() {videoPlayer =  (StandardGSYVideoPlayer)findViewById(R.id.video_player);String source1 = "http://9890.vod.myqcloud.com/9890_4e292f9a3dd011e6b4078980237cc3d3.f20.mp4";videoPlayer.setUp(source1, true, "测试视频");//增加封面
//        ImageView imageView = new ImageView(this);
//        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
//        imageView.setImageResource(R.mipmap.xxx1);
//        videoPlayer.setThumbImageView(imageView);//增加titlevideoPlayer.getTitleTextView().setVisibility(View.VISIBLE);//设置返回键videoPlayer.getBackButton().setVisibility(View.VISIBLE);//设置旋转orientationUtils = new OrientationUtils(this, videoPlayer);//设置全屏按键功能,这是使用的是选择屏幕,而不是全屏videoPlayer.getFullscreenButton().setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// ------- !!!如果不需要旋转屏幕,可以不调用!!!-------// 不需要屏幕旋转,还需要设置 setNeedOrientationUtils(false)//orientationUtils.resolveByClick();finish();}});//是否可以滑动调整videoPlayer.setIsTouchWiget(true);//设置返回按键功能videoPlayer.getBackButton().setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {onBackPressed();}});///不需要屏幕旋转videoPlayer.setNeedOrientationUtils(false);videoPlayer.startPlayLogic();}@Overrideprotected void onPause() {super.onPause();videoPlayer.onVideoPause();}@Overrideprotected void onResume() {super.onResume();videoPlayer.onVideoResume();}@Overrideprotected void onDestroy() {super.onDestroy();GSYVideoManager.releaseAllVideos();if (orientationUtils != null)orientationUtils.releaseListener();}@Overridepublic void onBackPressed() {///       不需要回归竖屏
//        if (orientationUtils.getScreenType() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) {//            videoPlayer.getFullscreenButton().performClick();
//            return;
//        }//释放所有videoPlayer.setVideoAllCallBack(null);super.onBackPressed();}
}

GSYVideoPlayer实现视频播放相关推荐

  1. 关于GsyVideoPlayer 4K视频播放

    需要使用exoplayer内核

  2. 小程序影藏溢出的gif_分享几个优质开源项目 | 电商类app,趣享 gif,研发助手DoraemonKit,github小程序...

    本来想一个个分享,这样标题比较好起,不过感觉有点少,那就不定期攒一些分享吧.其中部分来源投稿,有些是我自己无意发现的. 1非常方便的 github 小程序员 经常想在手机上看一些最新的github项目 ...

  3. 安卓知识体系搭建(持续更新)

    Java基础 日期操作类 [Android]DecimalFormat简单使用 Java语言编程规范--注释规范 Java内存分配之堆.栈和常量池 Java泛型详解 深入浅出Java中的增强 for ...

  4. 一款高仿 Eyepetizer | 开眼短视频的 MVVM 开源项目

    " 基于 Kotlin[1] 语言仿写「开眼 Eyepetizer[2]」的一个短视频 Android 客户端项目,采用 Jetpack[3] + 协程[30]实现的 MVVM 架构.&qu ...

  5. Android仿微信拍摄、录制视频,以及视频播放(基于JCameraView和GSYVideoPlayer)

    本项目使用Androidstudio开发工具 引入权限 <uses-permission android:name="android.permission.FLASHLIGHT&quo ...

  6. 视频播放器GSYVideoPlayer

    基于IJKPlayer,实现了多功能的视频播放器. (请仔细阅读下方各项说明,大多数问题可在下方找到解答). 状态 功能 支持 边播边缓存,使用了AndroidVideoCache. 支持 其他协议和 ...

  7. 3.使用GSYVideoPlayer实现仿抖音视频播放以及点赞飘心效果

    原创GitHub地址: https://github.com/ZhangZiLiX/DouYinVideoDemo 1.build.gradle配置 applyplugin:'com.android. ...

  8. GSYVideoPlayer 视频播放器 GSYVideoPlayer

    GSYVideoPlayer 视频播放器 GSYVideoPlayer 基于IJKPlayer(兼容系统MediaPlayer与EXOPlayer2),实现了多功能的视频播放器. (请仔细阅读下方各项 ...

  9. android服务拍视频,Android仿微信拍摄、录制视频,以及视频播放(基于JCameraView和GSYVideoPlayer)...

    本项目使用Androidstudio开发工具 引入权限 引入依赖 //视频录制 implementation 'cjt.library.wheel:camera:1.1.9' //视频播放 api(' ...

最新文章

  1. PTA L2-002 链表去重
  2. matlab对手写数字聚类的方法_scikitlearn — 聚类
  3. 【Spring reference】@ResponseBody注解
  4. python定义类_提升你的Python编程能力,细说类的继承,拿走不谢
  5. 时光机穿梭---版本回退
  6. linq 解决winForm中控件CheckedListBox操作的问题。(转载)
  7. mysql bcmod_nextcloud网盘搭建:Ubuntu18.04+Nginx+Mysql
  8. python封装c接口_用C为python3.1封装mysql接口(一)
  9. steam夏日促销悄然开始,用Python爬取排行榜上的游戏打折信息
  10. MTK平台环境搭建---Ubuntu Linux 下执行sudo apt-get install提示“现在没有可用的软件包……...
  11. 编号001!华为超级旗舰入网:获中国首张5G手机“身份证”
  12. Jenkins定时构建和轮询SCM设置说明
  13. python如何屏幕截图_Python实现屏幕截图的两种方式
  14. .lib不是有效的Win32应用程序
  15. activity关闭和dialog.dismiss冲突的解决(Activity has leaked window com.android.internal.p
  16. 百度小米滴滴躬身入局,新能源造车如此多娇,引无数大厂竟折腰?
  17. 注销consul节点
  18. quora 查看收藏的回答(bookmark)
  19. no source Theme.AppCompat.Light的解决方法
  20. 代谢组数据:QC归一化(R语言:MetNormalizer包)

热门文章

  1. 打开浏览器显示找不到服务器DNS地址,电脑浏览器找不到服务器dns地址
  2. 智慧校园是实现智慧教育的必由之路
  3. php开发自己的composer包
  4. 基于HTML5气3D仿真培训系统
  5. win10聚焦功能失效的解决方法
  6. 微信小程序表格实现隔行换色
  7. 流动性风险与次贷危机
  8. 盘点:当今十大备份应用软件
  9. Vue实现push数组并删除方法
  10. 上帝视角学JAVA- 基础08-类06【2021-08-07】