Android(安卓)饺子播放器
16lz
2021-01-26
在很多项目里面都有视频一类,Android中视频播放框架有VideoView,SurfaceView+MediaPlayer,Vitamin,jiaozivideoplayer
等几种。一般就看公司要求,没有要求就看自己的喜好。
我就喜欢用饺子播放器,下面就最简单的实现一下:
一 导入依赖
饺子依赖
implementation 'cn.jzvd:jiaozivideoplayer:6.2.4'
图片加载依赖
implementation 'com.github.bumptech.glide:glide:4.3.1'
二 xml 布局
三 Activity或Fragment中代码
注意:如果需要横竖屏切换需要在AndroidManifest.xml
里面加上
android:configChanges="orientation|screenSize|keyboardHidden" android:screenOrientation="portrait
没有添加的话切换的时候会报错。
1 初始化
mJC = (JZVideoPlayerStandard) findViewById(R.id.mJC);
2 重力感应切换横竖屏
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); jzAutoFullscreenListener = new JZVideoPlayer.JZAutoFullscreenListener();
3设置图片为全屏
mJC.thumbImageView.setScaleType(ImageView.ScaleType.FIT_XY);
4设置内置视频的高度, 可以去除黑边
JZVideoPlayer.setVideoImageDisplayType(JZVideoPlayer.VIDEO_IMAGE_DISPLAY_TYPE_FILL_PARENT);
5播放视频 mJC.TOOL_BAR_EXIST = false; mJC.setUp("http://ssb-video.oss-cn-qingdao.aliyuncs.com/Video_1003_20161027140007.mp4" , JZVideoPlayerStandard.SCROLL_AXIS_HORIZONTAL, "这视频真好,去除黑边了");
6 视频的缩略图地址 Glide.with(getApplicationContext()).load("http://p0.so.qhmsg.com/bdr/_240_/t01c10808f98a39bd4f.jpg") .into(mJC.thumbImageView); 7播放比例,可以设置为16:9,4:3 mJC.widthRatio = 4; mJC.heightRatio = 3; 8设置全屏播放 JZVideoPlayer.FULLSCREEN_ORIENTATION = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE; //横向 JZVideoPlayer.NORMAL_ORIENTATION = ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT; //纵向
back返回键
@Overridepublic void onBackPressed() { if (JZVideoPlayer.backPress()) { return; } super.onBackPressed();}@Overrideprotected void onPause() { super.onPause(); sensorManager.unregisterListener(jzAutoFullscreenListener); JZVideoPlayer.releaseAllVideos();}@Overrideprotected void onResume() { super.onResume(); 播放器重力感应 Sensor accelerometerSensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); sensorManager.registerListener(jzAutoFullscreenListener, accelerometerSensor, SensorManager.SENSOR_DELAY_NORMAL);}
代码已完全粘贴完毕。
更多相关文章
- Android手机记账应用开发视频教程
- Android(安卓)studio 如何查看 library 间的依赖关系
- android多语言与国际化(记录)
- Android(安卓)处理横竖屏切换事件
- 看黑马安卓基础教学视频总结(广播)
- android 浏览器全屏显示
- 第20天android:《android从零开始》视频(8-9)
- 2011.09.14(3)——— android 自定义tabhost的tabs
- Android疑问1——Handler的removeCallbacks方法无效?(已经明白了)