强大的第三方视频播放器。

近来静极思动,决定写一堆博客。

没别的意思,单纯的想装个逼。

//导入依赖  饺子播放器   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();
                        }
                    }

嗯,就这些了。



猜你喜欢

转载自blog.csdn.net/flypig_vip/article/details/80624439