近来静极思动,决定写一堆博客。
没别的意思,单纯的想装个逼。
//导入依赖 饺子播放器 https://github.com/lipangit/JiaoZiVideoPlayer
//视频播放器
compile 'cn.jzvd:jiaozivideoplayer:6.2.9'
//为了能够带入到项目中使用 需要自定播放器
public class MyJZVideoPlayerStandard extends JZVideoPlayerStandard {
private Context mContext;
public MyJZVideoPlayerStandard(Context context) {
super(context);
mContext=context;
}
public MyJZVideoPlayerStandard(Context context, AttributeSet attrs) {
super(context, attrs);
mContext=context;
}
@Override
public void init(Context context) {
super.init(context);
mContext=context;
}
@Override
public void onClick(View v) {
super.onClick(v);
}
@Override
public int getLayoutId() {
return cn.jzvd.R.layout.jz_layout_standard;
}
@Override
public boolean onTouch(View v, MotionEvent event) {
return super.onTouch(v, event);
}
@Override
public void startVideo() {
super.startVideo();
}
@Override
public void onStateNormal() {
super.onStateNormal();
}
@Override
public void onStatePreparing() {
super.onStatePreparing();
}
@Override
public void onStatePlaying() {
super.onStatePlaying();
if(MusicService.isPlaying){
EventBus.getDefault().postSticky(new MusicData(false,0));
Intent intent = new Intent(mContext, MusicService.class);
intent.setAction(MusicService.ACTION_Pause);
mContext.startService(intent);
}else{
Toast.makeText(mContext, "没有在播放", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onStatePause() {
super.onStatePause();
}
@Override
public void onStateError() {
super.onStateError();
}
@Override
public void onStateAutoComplete() {
super.onStateAutoComplete();
}
@Override
public void onInfo(int what, int extra) {
super.onInfo(what, extra);
}
@Override
public void onError(int what, int extra) {
super.onError(what, extra);
}
@Override
public void startWindowFullscreen() {
super.startWindowFullscreen();
}
@Override
public void startWindowTiny() {
super.startWindowTiny();
}
}
//xml
<com.as.apprehendschool.customviews.MyJZVideoPlayerStandard
android:id="@+id/videoplayer"
android:layout_width="match_parent"
android:layout_height="@dimen/x390" />
//使用
/**
* 视频分类 公共适配器 item video common
*/
public class SpflRecyclerAdapter extends BaseQuickAdapter<SPfenleiBean.DataBean, BaseViewHolder> {
public SpflRecyclerAdapter(int layoutResId, @Nullable List<SPfenleiBean.DataBean> data) {
super(layoutResId, data);
}
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
protected void convert(BaseViewHolder helper, SPfenleiBean.DataBean item) {
helper.setText(R.id.tv_Spfl, item.getDescription());
// 看这里
final MyJZVideoPlayerStandard videoplayer_Spfl = helper.getView(R.id.videoplayer_Spfl);
SPfenleiBean.DataBean.VideoBean videoBean = item.getVideo().get(0);
videoplayer_Spfl.setUp(
videoBean.getFileurl(), JZVideoPlayer.SCREEN_WINDOW_LIST,
item.getTitle());
ImageView thumbImageView = videoplayer_Spfl.thumbImageView;
GlideLoadImageUtil.load(mContext,item.getThumb(),thumbImageView);
JZVideoPlayer.FULLSCREEN_ORIENTATION = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
}
}
//如果在别的地方需要暂停视频
boolean playing = JZMediaManager.isPlaying();
if(playing){
JZVideoPlayer currentJzvd = JZVideoPlayerManager.getCurrentJzvd();
currentJzvd.onEvent(JZUserAction.ON_CLICK_PAUSE);
JZMediaManager.pause();
currentJzvd.onStatePause();
}
//播放时 如果视频开着 先暂停 和上面一样的功能 2选一
JZVideoPlayer currentJzvd = JZVideoPlayerManager.getCurrentJzvd();
if(currentJzvd!=null){
boolean playing = JZMediaManager.isPlaying();
if(playing){
currentJzvd.onEvent(JZUserAction.ON_CLICK_PAUSE);
JZMediaManager.pause();
currentJzvd.onStatePause();
}
}
嗯,就这些了。