饺子播放器使用IJKPlayer播放MP4文件


JZVideo项目地址

问题汇总

  1. 视频设置禁止回退快进,如果还需要视频画面上的点击事件,可以采用第二种方法
 MyJzvdStd.findViewById(R.id.bottom_seek_progress).setOnTouchListener(new View.OnTouchListener() {
    
    
                @Override
                public boolean onTouch(View v, MotionEvent event) {
    
    
                    return true;
                }
            });
            //1. 这种方法是直接把视频画面点击事件全部拦截了MyJzvdStd.findViewById(R.id.surface_container).setOnTouchListener(new View.OnTouchListener() {
    
    
                @Override
                public boolean onTouch(View v, MotionEvent event) {
    
    
                    new Handler().postDelayed(new Runnable() {
    
    
                        @Override
                        public void run() {
    
    
                            MyJzvdStd.findViewById(R.id.layout_bottom).setVisibility(View.GONE);
                            MyJzvdStd.bottomProgressBar.setVisibility(View.VISIBLE);
                        }
                    },5000);
                    MyJzvdStd.findViewById(R.id.layout_bottom).setVisibility(View.VISIBLE);
                    MyJzvdStd.bottomProgressBar.setVisibility(View.GONE);
                    return true;
                }
            });

//2. 自定义重新JzvdStd,重写onTouch,设置mChangePosition=fasle
    @Override
    public boolean onTouch(View v, MotionEvent event) {
    
    
        int id = v.getId();
        if (id == R.id.surface_container) {
    
    
            mChangePosition = false;
        }
        return super.onTouch(v, event);
    }
  1. 视频拉流或者mp4视频文件播放的时候出现loading不消失的情况,导致视频画面点击没反应,并且时间进度条会一直卡在00:00

自定义JzvdStd,重写onStatePreparingPlaying()方法,在播放视频页面对视频加载进度进行监听。视频预加载完成即隐藏掉loading。

关键代码

    MyJzvdStd.setonPlayingListener(() -> {
    
    
            MyJzvdStd.loadingProgressBar.setVisibility(View.INVISIBLE);
        });

猜你喜欢

转载自blog.csdn.net/TLuffy/article/details/123852907