问题汇总
- 视频设置禁止回退快进,如果还需要视频画面上的点击事件,可以采用第二种方法
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);
}
- 视频拉流或者mp4视频文件播放的时候出现loading不消失的情况,导致视频画面点击没反应,并且时间进度条会一直卡在00:00
自定义JzvdStd,重写onStatePreparingPlaying()方法
,在播放视频页面对视频加载进度进行监听。视频预加载完成即隐藏掉loading。
关键代码
MyJzvdStd.setonPlayingListener(() -> {
MyJzvdStd.loadingProgressBar.setVisibility(View.INVISIBLE);
});