实现全屏播放加锁屏功能
startWindowFullscreen实现全屏播放(全屏播放设置)
/*GSYVideoControlView*/
//锁定屏幕点击,控制锁屏功能的逻辑
protected boolean mLockCurScreen;
//是否需要锁定屏幕
protected boolean mNeedLockFull;
//锁定图标
protected ImageView mLockScreen;
//需要自定义锁屏图标的时候,需要重写
/**
* 处理锁屏屏幕触摸逻辑
*/
protected void lockTouchLogic() {
if (mLockCurScreen) {
mLockScreen.setImageResource(R.drawable.unlock); //修改为自己的UI图标
mLockCurScreen = false;
} else {
mLockScreen.setImageResource(R.drawable.lock); //修改为自己的UI图标
mLockCurScreen = true;
hideAllWidget();
}
}
public GSYBaseVideoPlayer startWindowFullscreen(Context context, boolean actionBar, boolean statusBar) {
GSYBaseVideoPlayer gsyBaseVideoPlayer = super.startWindowFullscreen(context, actionBar, statusBar);
if (gsyBaseVideoPlayer != null) {
StandardGSYVideoPlayer gsyVideoPlayer = (StandardGSYVideoPlayer) gsyBaseVideoPlayer;
gsyVideoPlayer.setLockClickListener(mLockClickListener);
gsyVideoPlayer.setNeedLockFull(isNeedLockFull()); //isNeedLockFull==true锁屏控制生效
initFullUI(gsyVideoPlayer);
//比如你自定义了返回案件,但是因为返回按键底层已经设置了返回事件,所以你需要在这里重新增加的逻辑
}
return gsyBaseVideoPlayer;
}
自定义全屏播放实现
videoPlayer.getFullscreenButton().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// orientationUtils.resolveByClick();
if(videoPlayer.isIfCurrentIsFullscreen()){
System.out.println("onClick isIfCurrentIsFullscreen true");
}
if(videoPlayer.isNeedLockFull()){
System.out.println("onClick isNeedLockFull true");
}
videoPlayer.startWindowFullscreen(getContext(), true, true); //全屏方向是竖屏
videoPlayer.setIfCurrentIsFullscreen(true); // 当前进入全屏播放
videoPlayer.setNeedLockFull(true); //设置需要全屏播放锁屏功能
Toast.makeText(getActivity(), "全屏", Toast.LENGTH_SHORT).show();
videoPlayer.setRotateViewAuto(true); // 开启自动旋转,全屏横屏播放
videoPlayer.setLockLand(true); //横屏锁
}
});
播放逻辑
@Override
public void startPlayLogic() {
if (mVideoAllCallBack != null) {
Debuger.printfLog("onClickStartThumb");
mVideoAllCallBack.onClickStartThumb(mOriginUrl, mTitle, StandardGSYVideoPlayer.this);
}
prepareVideo();
startDismissControlViewTimer(); //设置开始播放后播放器界面UI控件的消失时间计时器
}