From d76a7786360ffb4e0c038aa666b63d9f41a503e0 Mon Sep 17 00:00:00 2001 From: Devlin Chiu Date: Fri, 19 May 2017 10:08:10 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E6=92=AD=E6=94=BE=E7=BB=93?= =?UTF-8?q?=E6=9D=9F=E5=90=8E=E7=82=B9=E5=87=BB=E6=92=AD=E6=94=BE=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E6=8E=A7=E5=88=B6=E5=99=A8=E4=B8=8D=E6=B6=88=E5=A4=B1?= =?UTF-8?q?=E9=97=AE=E9=A2=98=202.=E6=9B=B4=E6=94=B9=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=8E=A7=E4=BB=B6=E5=8E=9F=E5=A7=8B=E5=AE=BD=E9=AB=98=E6=96=B9?= =?UTF-8?q?=E6=B3=95=203.=E5=B0=86miniSdk=E7=89=88=E6=9C=AC=E9=99=8D?= =?UTF-8?q?=E5=88=B014?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 2 +- .../controller/IjkMediaController.java | 2 +- .../magic_player/player/IjkVideoView.java | 26 +++++++++---------- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/build.gradle b/build.gradle index e7036406..5808814f 100644 --- a/build.gradle +++ b/build.gradle @@ -24,7 +24,7 @@ task clean(type: Delete) { } ext { - minSdkVersion = 16 + minSdkVersion = 14 targetSdkVersion = 23 compileSdkVersion = 25 buildToolsVersion = '25.0.2' diff --git a/magic_player/src/main/java/com/devlin_n/magic_player/controller/IjkMediaController.java b/magic_player/src/main/java/com/devlin_n/magic_player/controller/IjkMediaController.java index 0f3bf017..5665435c 100644 --- a/magic_player/src/main/java/com/devlin_n/magic_player/controller/IjkMediaController.java +++ b/magic_player/src/main/java/com/devlin_n/magic_player/controller/IjkMediaController.java @@ -300,7 +300,7 @@ public void show() { public void reset() { currTime.setText(stringForTime(mediaPlayer.getDuration())); playButton.setSelected(true); - show(0); + show(); } @Override diff --git a/magic_player/src/main/java/com/devlin_n/magic_player/player/IjkVideoView.java b/magic_player/src/main/java/com/devlin_n/magic_player/player/IjkVideoView.java index 1d6c0adc..29ec4be9 100644 --- a/magic_player/src/main/java/com/devlin_n/magic_player/player/IjkVideoView.java +++ b/magic_player/src/main/java/com/devlin_n/magic_player/player/IjkVideoView.java @@ -17,7 +17,6 @@ import android.view.SurfaceHolder; import android.view.View; import android.view.ViewGroup; -import android.view.ViewTreeObserver; import android.view.WindowManager; import android.widget.FrameLayout; import android.widget.ProgressBar; @@ -34,7 +33,6 @@ import com.devlin_n.magic_player.util.NetworkUtil; import com.devlin_n.magic_player.util.WindowUtil; import com.devlin_n.magic_player.widget.MagicSurfaceView; -import com.devlin_n.magic_player.widget.MagicTextureView; import com.devlin_n.magic_player.widget.StatusView; import java.io.File; @@ -58,7 +56,6 @@ public class IjkVideoView extends FrameLayout implements IjkMediaController.Medi private BaseMediaController mMediaController;//控制器 private boolean isControllerAdded;//师傅添加控制器 private MagicSurfaceView surfaceView; - private MagicTextureView textureView; private RelativeLayout surfaceContainer; private FrameLayout controllerContainer; private StatusView statusView;//显示错误信息的一个view @@ -133,17 +130,18 @@ private void initView() { bufferProgress = (ProgressBar) videoView.findViewById(R.id.buffering); surfaceContainer = (RelativeLayout) videoView.findViewById(R.id.surface_container); controllerContainer = (FrameLayout) videoView.findViewById(R.id.controller_container); - //获取播放器竖屏时的原始宽高 - getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { - @Override - public void onGlobalLayout() { - originalWidth = getWidth(); - originalHeight = getHeight(); - if (originalWidth != -1 && originalHeight != -1) { - getViewTreeObserver().removeOnGlobalLayoutListener(this); - } - } - }); + } + + /** + * 重写onWindowFocusChanged方法获取控件原始宽高 + */ + @Override + public void onWindowFocusChanged(boolean hasFocus) { + super.onWindowFocusChanged(hasFocus); + if (hasFocus && originalWidth == 0 && originalHeight == 0) { + originalWidth = getWidth(); + originalHeight = getHeight(); + } } /**