|
|
|
|
@ -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(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|