From 470ad28b23fe3173894d2267eecba67365298d83 Mon Sep 17 00:00:00 2001 From: "895483316@qq.com" <895483316@qq.com> Date: Fri, 9 Jul 2021 12:10:06 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=89=8B=E5=8A=BF=E6=93=8D=E4=BD=9C-?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=85=A8=E5=B1=8F=E6=92=AD=E6=94=BE,?= =?UTF-8?q?=E7=AB=96=E5=B1=8F=E6=97=B6=E5=B7=A6=E5=8F=B3=E4=BF=A9=E4=BE=A7?= =?UTF-8?q?=E9=83=BD=E6=98=AF=E8=B0=83=E6=95=B4=E4=BA=AE=E5=BA=A6=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98,=E6=97=A0=E6=B3=95=E8=B0=83=E8=8A=82?= =?UTF-8?q?=E9=9F=B3=E9=87=8F=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/src/main/java/cn/jzvd/Jzvd.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/library/src/main/java/cn/jzvd/Jzvd.java b/library/src/main/java/cn/jzvd/Jzvd.java index 057d982c..ae9707d9 100644 --- a/library/src/main/java/cn/jzvd/Jzvd.java +++ b/library/src/main/java/cn/jzvd/Jzvd.java @@ -429,6 +429,17 @@ protected void touchActionUp() { startProgressTimer(); } + public boolean isOrientation() { + if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { + Log.i("info", "landscape"); // 横屏 + return true; + } else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { + Log.i("info", "portrait"); // 竖屏 + return false; + } + return true; + } + protected void touchActionMove(float x, float y) { Log.i(TAG, "onTouch surfaceContainer actionMove [" + this.hashCode() + "] "); float deltaX = x - mDownX; @@ -452,7 +463,7 @@ protected void touchActionMove(float x, float y) { } } else { //如果y轴滑动距离超过设置的处理范围,那么进行滑动事件处理 - if (mDownX < mScreenHeight * 0.5f) {//左侧改变亮度 + if (mDownX < (isOrientation() ? mScreenHeight * 0.5f : mScreenWidth * 0.5f)) {//左侧改变亮度 mChangeBrightness = true; WindowManager.LayoutParams lp = JZUtils.getWindow(getContext()).getAttributes(); if (lp.screenBrightness < 0) { From 7a61061feef9ed0bac33756eeab4c7f849ff79a9 Mon Sep 17 00:00:00 2001 From: "895483316@qq.com" <895483316@qq.com> Date: Fri, 9 Jul 2021 12:59:12 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=89=8B=E5=8A=BF=E6=93=8D=E4=BD=9C-?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=85=A8=E5=B1=8F=E6=92=AD=E6=94=BE,?= =?UTF-8?q?=E7=AB=96=E5=B1=8F=E6=97=B6=E5=B7=A6=E5=8F=B3=E4=BF=A9=E4=BE=A7?= =?UTF-8?q?=E9=83=BD=E6=98=AF=E8=B0=83=E6=95=B4=E4=BA=AE=E5=BA=A6=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98,=E6=97=A0=E6=B3=95=E8=B0=83=E8=8A=82?= =?UTF-8?q?=E9=9F=B3=E9=87=8F=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/src/main/java/cn/jzvd/Jzvd.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/src/main/java/cn/jzvd/Jzvd.java b/library/src/main/java/cn/jzvd/Jzvd.java index ae9707d9..bde90e07 100644 --- a/library/src/main/java/cn/jzvd/Jzvd.java +++ b/library/src/main/java/cn/jzvd/Jzvd.java @@ -429,7 +429,7 @@ protected void touchActionUp() { startProgressTimer(); } - public boolean isOrientation() { + public boolean isOrientationLandscape() { if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { Log.i("info", "landscape"); // 横屏 return true; @@ -463,7 +463,7 @@ protected void touchActionMove(float x, float y) { } } else { //如果y轴滑动距离超过设置的处理范围,那么进行滑动事件处理 - if (mDownX < (isOrientation() ? mScreenHeight * 0.5f : mScreenWidth * 0.5f)) {//左侧改变亮度 + if (mDownX < (isOrientationLandscape() ? mScreenHeight * 0.5f : mScreenWidth * 0.5f)) {//左侧改变亮度 mChangeBrightness = true; WindowManager.LayoutParams lp = JZUtils.getWindow(getContext()).getAttributes(); if (lp.screenBrightness < 0) { From c459296a55f21510094ce632e5733679e868ce94 Mon Sep 17 00:00:00 2001 From: "895483316@qq.com" <895483316@qq.com> Date: Fri, 9 Jul 2021 15:26:41 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E5=AE=BD=E9=AB=98=E8=AE=BE=E7=BD=AE=E5=85=A8=E5=B1=8F=E6=97=B6?= =?UTF-8?q?,=E6=A8=AA=E5=B1=8F=E6=98=BE=E7=A4=BA=E8=BF=98=E6=98=AF?= =?UTF-8?q?=E7=AB=96=E5=B1=8F=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/src/main/java/cn/jzvd/Jzvd.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/library/src/main/java/cn/jzvd/Jzvd.java b/library/src/main/java/cn/jzvd/Jzvd.java index bde90e07..99ad4c23 100644 --- a/library/src/main/java/cn/jzvd/Jzvd.java +++ b/library/src/main/java/cn/jzvd/Jzvd.java @@ -2,6 +2,7 @@ import android.content.Context; import android.content.pm.ActivityInfo; +import android.content.res.Configuration; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; @@ -67,6 +68,7 @@ public abstract class Jzvd extends FrameLayout implements View.OnClickListener, public static int ON_PLAY_PAUSE_TMP_STATE = 0;//这个考虑不放到库里,去自定义 public static int backUpBufferState = -1; public static float PROGRESS_DRAG_RATE = 1f;//进度条滑动阻尼系数 越大播放进度条滑动越慢 + boolean isVideoLandscape = true;//视频方向 public static AudioManager.OnAudioFocusChangeListener onAudioFocusChangeListener = new AudioManager.OnAudioFocusChangeListener() {//是否新建个class,代码更规矩,并且变量的位置也很尴尬 @Override public void onAudioFocusChange(int focusChange) { @@ -856,6 +858,17 @@ public void onVideoSizeChanged(int width, int height) { } textureView.setVideoSize(width, height); } + setFullScreenOrientation(isVideoLandscape = width > height); + } + + private void setFullScreenOrientation(boolean isLandscape) { + + if (screen == SCREEN_FULLSCREEN) + if (isLandscape) { + JZUtils.setRequestedOrientation(jzvdContext, ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); + } else { + JZUtils.setRequestedOrientation(jzvdContext, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); + } } public void startProgressTimer() { @@ -1009,7 +1022,8 @@ public void gotoFullscreen() { setScreenFullscreen(); JZUtils.hideStatusBar(jzvdContext); - JZUtils.setRequestedOrientation(jzvdContext, FULLSCREEN_ORIENTATION); +// JZUtils.setRequestedOrientation(jzvdContext, FULLSCREEN_ORIENTATION); + setFullScreenOrientation(isVideoLandscape); JZUtils.hideSystemUI(jzvdContext);//华为手机和有虚拟键的手机全屏时可隐藏虚拟键 issue:1326 }