JieCaoVideoPlayer的使用

来源:互联网 发布:淘口令转换软件 编辑:程序博客网 时间:2024/06/08 19:03

一,主要特点:
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作为类库引入到你的项目中
如下图

这里写图片描述

(二.添加布局

<fm.jiecao.jcvideoplayer_lib.JCVideoPlayerandroid: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.*Supportdontwarnde.greenrobot.event.util.SupportManagerFragment

0 0
原创粉丝点击