一行代码快速实现视频播放,Android视频播放,AndroidMP3播放,安卓视频播放一行代码搞定,真正实现Android的全屏功能


github地址:https://github.com/qiushi123/VideoDemoQcl



先看效果图




一,主要特点
1,全屏时启动新Activity实现播放器真正的全屏功能
2,能在ListView、ViewPager和ListView、ViewPager和Fragment等多重嵌套模式下全屏工作
3,ListView的拖拽和ViewPager的滑动时如果划出屏幕会自动重置视频
4,视频大小的屏幕适配,宽或长至少有两个对边是充满屏幕的,另外两个方向居中
5,可以在加载、暂停、播放等各种状态中正常进入全屏和退出全屏
6,根据自己应用的颜色风格换肤
7,播放MP3时显示缩略图片

二,使用步骤


(一,导入到项目(建议用第二种方式)
1.引入类库
compile 'fm.jiecao:jiecaovideoplayer:1.8'//引入类库时有个bug所以建议直接引入源码lib
2.引入源码
将jcvideoplayer-lib作为类库引入到你的项目中
如下图



(二.添加布局
android:id="@+id/videocontroller1"
android:layout_width="match_parent"
android:layout_height="200dp" />


(三.设置视频地址、缩略图地址、标题
JCVideoPlayer videoController = (JCVideoPlayer) findViewById(R.id.videocontroller);
videoController.setUp("http://2449.vod.myqcloud.com/2449_43b6f696980311e59ed467f22794e792.f20.mp4",
"http://p.qpic.cn/videoyun/0/2449_43b6f696980311e59ed467f22794e792_1/640",
"一行代码实现视频播放");


(四.在包含播放器的Fragment或Activity的onPause()方法中调用JCVideoPlayer.releaseAllVideos();

五.其他接口

1,设置皮肤(主题),这里设置的是整个项目里的全局皮肤,优先级:全局皮肤>默认皮肤
//设置全局皮肤
JCVideoPlayer.setGlobleSkin(R.color.titleColor, R.color.timeColor, R.drawable.skin_seek_progress,
                R.color.bottom_bg, R.drawable.skin_enlarge_video, R.drawable.skin_shrink_video);

2,修改缩略图的scalType,默认的缩略图的scaleType是fitCenter,
这时候图片如果和屏幕尺寸不同的话左右或上下会有黑边,可以根据客户端需要改成fitXY或者其他模式
JCVideoPlayer.setThumbImageViewScalType(ImageView.ScaleType.FIT_XY);

3.直接进入全屏,比如在webview中视频播放的适配很难做,调用此接口直接全屏播放
JCVideoPlayer.toFullscreenActivity(this,
"http://2449.vod.myqcloud.com/2449_43b6f696980311e59ed467f22794e792.f20.mp4",
"http://p.qpic.cn/videoyun/0/2449_43b6f696980311e59ed467f22794e792_1/640",
"一行代码实现视频播放");
4.不显示标题
videoController.setUp("http://2449.vod.myqcloud.com/2449_ded7b566b37911e5942f0b208e48548d.f20.mp4",//
"http://p.qpic.cn/videoyun/0/2449_ded7b566b37911e5942f0b208e48548d_2/640",
"一行代码实现视频播放", false);
5.在ListView和ViewPager中将视频移除屏幕外,会在onDetachedFromWindow时重置视频。
目标是在库外只需要添加布局,添加配置,其他的问题都在库内判断和操作。



六,混淆
##Eventbus混淆
-keepclassmembers class ** {
public void onEvent*(***);
}
# Only required if you use AsyncExecutor
-keepclassmembers class * extends de.greenrobot.event.util.ThrowableFailureEvent {
public (java.lang.Throwable);
}
# Don't warn for missing support classes
-dontwarn de.greenrobot.event.util.*$Support
-dontwarn de.greenrobot.event.util.*$SupportManagerFragment


github地址:https://github.com/qiushi123/VideoDemoQcl

更多相关文章

  1. android AOP实现之AspectJ
  2. Android实现推送方式解决方案
  3. android应用中去android市场去评分的功能实现(吐槽一波个人应用上
  4. Android(安卓)Widget小组件开发(一)——Android实现时钟Widget组件
  5. Android(安卓)OpenGLES2.0(十七)——球形天空盒VR效果实现
  6. Android自定义View的实现方法,带你一步步深入了解View(三) 。
  7. 史上最强整理:多达2987页的Android面试宝典,看完才发现,做Android开
  8. Android(安卓)教程之实现动作感应技术
  9. 浅谈Java中Collections.sort对List排序的两种方法

随机推荐

  1. Android SurfaceView 的基本应用
  2. 改变ToggleButton的图片
  3. Android 文件存储 和 权限管理
  4. Android设置支持多种分辨率
  5. android中去掉listview某人选中高亮状态
  6. Android Debugging
  7. 【Android】Thread与Service的差异
  8. Android Studio常见问题
  9. android 支持宽屏
  10. 让ImageView全部适应ScrollView