Add files via upload

pull/56/head
llb0 3 years ago committed by GitHub
parent d8828285df
commit 4c2ab5a5db
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 45
      player/src/main/java/xyz/doikki/videoplayer/controller/BaseVideoController.java
  2. 12
      player/src/main/java/xyz/doikki/videoplayer/controller/ControlWrapper.java

@ -396,7 +396,7 @@ public abstract class BaseVideoController extends FrameLayout
* 横竖屏切换
*/
protected void toggleFullScreen() {
mControlWrapper.toggleFullScreen(mActivity);
mControlWrapper.toggleFullScreenByVideoSize(mActivity);
}
/**
@ -508,32 +508,47 @@ public abstract class BaseVideoController extends FrameLayout
if (mIsLocked) return;
//没有开启设备方向监听的情况
if (!mEnableOrientation) return;
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
mControlWrapper.stopFullScreen();
int[] size = mControlWrapper.getVideoSize();
int width = size[0];
int height = size[1];
int o = activity.getRequestedOrientation();
if (width < height && o != ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
mControlWrapper.replay(true);
}
}
/**
* 横屏
*/
protected void onOrientationLandscape(Activity activity) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
if (mControlWrapper.isFullScreen()) {
handlePlayerStateChanged(VideoView.PLAYER_FULL_SCREEN);
} else {
mControlWrapper.startFullScreen();
}
int[] size = mControlWrapper.getVideoSize();
int width = size[0];
int height = size[1];
if (width > height) {
if (mControlWrapper.isFullScreen()) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
handlePlayerStateChanged(VideoView.PLAYER_FULL_SCREEN);
} else {
mControlWrapper.startFullScreen();
}
}
}
/**
* 反向横屏
*/
protected void onOrientationReverseLandscape(Activity activity) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
if (mControlWrapper.isFullScreen()) {
handlePlayerStateChanged(VideoView.PLAYER_FULL_SCREEN);
} else {
mControlWrapper.startFullScreen();
int[] size = mControlWrapper.getVideoSize();
int width = size[0];
int height = size[1];
if (width > height) {
if (mControlWrapper.isFullScreen()) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
handlePlayerStateChanged(VideoView.PLAYER_FULL_SCREEN);
} else {
mControlWrapper.startFullScreen();
}
}
}

@ -186,16 +186,10 @@ public class ControlWrapper implements MediaPlayerControl, IVideoController {
int[] size = getVideoSize();
int width = size[0];
int height = size[1];
if (isFullScreen()) {
stopFullScreen();
if (width > height) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
if (width < height) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
} else {
startFullScreen();
if (width > height) {
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
}

Loading…
Cancel
Save