From 20e6abd63774ff73dcaf6eaf4935f084779055eb Mon Sep 17 00:00:00 2001 From: shuyu <359369982@qq.com> Date: Tue, 27 Dec 2016 14:37:30 +0800 Subject: [PATCH] =?UTF-8?q?v1.5.1=20=E5=85=A8=E5=B1=8F=E6=BB=91=E5=8A=A8?= =?UTF-8?q?=E5=BC=B9=E5=87=BA=E8=99=9A=E6=8B=9F=E6=8C=89=E9=94=AE=E4=BC=9A?= =?UTF-8?q?=E5=BD=B1=E5=93=8D=E8=BF=9B=E5=BA=A6=E9=97=AE=E9=A2=98=EF=BC=8C?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=86=E6=BB=91=E5=8A=A8=E7=9A=84=E5=BC=B9?= =?UTF-8?q?=E5=87=BAdialog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/shuyu/gsyvideoplayer/GSYVideoManager.java | 13 ------------- .../com/shuyu/gsyvideoplayer/GSYVideoPlayer.java | 12 ++++++++++-- .../gsyvideoplayer/video/GSYBaseVideoPlayer.java | 12 ++++++++---- .../video/StandardGSYVideoPlayer.java | 3 +++ 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/GSYVideoManager.java b/gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/GSYVideoManager.java index 8e1bb49..fd50be3 100644 --- a/gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/GSYVideoManager.java +++ b/gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/GSYVideoManager.java @@ -67,8 +67,6 @@ public class GSYVideoManager implements IMediaPlayer.OnPreparedListener, IMediaP private Context context; - private MediaMetadataRetriever mediaMetadataRetriever;//获取帧预览图片 - private int currentVideoWidth = 0; //当前播放的视频宽的高 private int currentVideoHeight = 0; //当前播放的视屏的高 @@ -233,10 +231,6 @@ public class GSYVideoManager implements IMediaPlayer.OnPreparedListener, IMediaP if (proxy != null) { proxy.unregisterCacheListener(GSYVideoManager.this); } - if (mediaMetadataRetriever != null) { - mediaMetadataRetriever.release(); - mediaMetadataRetriever = null; - } buffterPoint = 0; break; } @@ -266,9 +260,6 @@ public class GSYVideoManager implements IMediaPlayer.OnPreparedListener, IMediaP mediaPlayer.setOnVideoSizeChangedListener(GSYVideoManager.this); mediaPlayer.prepareAsync(); - mediaMetadataRetriever = new MediaMetadataRetriever(); - mediaMetadataRetriever.setDataSource(((GSYModel) msg.obj).getUrl(), ((GSYModel) msg.obj).getMapHeadData()); - } catch (Exception e) { e.printStackTrace(); } @@ -468,10 +459,6 @@ public class GSYVideoManager implements IMediaPlayer.OnPreparedListener, IMediaP return mediaPlayer; } - public MediaMetadataRetriever getMediaMetadataRetriever() { - return mediaMetadataRetriever; - } - public int getCurrentVideoWidth() { return currentVideoWidth; } diff --git a/gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/GSYVideoPlayer.java b/gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/GSYVideoPlayer.java index 0e72b77..c98ac56 100644 --- a/gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/GSYVideoPlayer.java +++ b/gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/GSYVideoPlayer.java @@ -104,6 +104,8 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View. protected int mSeekTimePosition; //手动改变滑动的位置 + protected int mSeekEndOffset; //手动滑动的起始偏移位置 + protected long mSeekOnStart = -1; //从哪个开始播放 protected long mPauseTime; //保存暂停时的时间 @@ -178,6 +180,8 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View. mScreenWidth = getContext().getResources().getDisplayMetrics().widthPixels; mScreenHeight = getContext().getResources().getDisplayMetrics().heightPixels; mAudioManager = (AudioManager) getContext().getSystemService(Context.AUDIO_SERVICE); + + mSeekEndOffset = CommonUtil.dip2px(getContext(), 50); } /** @@ -552,8 +556,12 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View. if (absDeltaX > mThreshold || absDeltaY > mThreshold) { cancelProgressTimer(); if (absDeltaX >= mThreshold) { - mChangePosition = true; - mDownPosition = getCurrentPositionWhenPlaying(); + //防止全屏虚拟按键 + int screenWidth = CommonUtil.getScreenWidth(getContext()); + if (Math.abs(screenWidth - mDownX) > mSeekEndOffset) { + mChangePosition = true; + mDownPosition = getCurrentPositionWhenPlaying(); + } } else { if (mFirstTouch) { mBrightness = mDownX < mScreenWidth * 0.5f; diff --git a/gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/GSYBaseVideoPlayer.java b/gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/GSYBaseVideoPlayer.java index b4f797d..48cd56b 100644 --- a/gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/GSYBaseVideoPlayer.java +++ b/gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/GSYBaseVideoPlayer.java @@ -381,11 +381,14 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia */ public void clearFullscreenLayout() { mIfCurrentIsFullscreen = false; - int delay = mOrientationUtils.backToProtVideo(); - mOrientationUtils.setEnable(false); + int delay = 0; if (mOrientationUtils != null) { - mOrientationUtils.releaseListener(); - mOrientationUtils = null; + delay = mOrientationUtils.backToProtVideo(); + mOrientationUtils.setEnable(false); + if (mOrientationUtils != null) { + mOrientationUtils.releaseListener(); + mOrientationUtils = null; + } } mHandler.postDelayed(new Runnable() { @Override @@ -393,6 +396,7 @@ public abstract class GSYBaseVideoPlayer extends FrameLayout implements GSYMedia backToNormal(); } }, delay); + } /** diff --git a/gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/StandardGSYVideoPlayer.java b/gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/StandardGSYVideoPlayer.java index 4fb21c6..3a13ea2 100644 --- a/gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/StandardGSYVideoPlayer.java +++ b/gsyVideoPlayer/src/main/java/com/shuyu/gsyvideoplayer/video/StandardGSYVideoPlayer.java @@ -679,6 +679,7 @@ public class StandardGSYVideoPlayer extends GSYVideoPlayer { super.dismissProgressDialog(); if (mProgressDialog != null) { mProgressDialog.dismiss(); + mProgressDialog = null; } } @@ -719,6 +720,7 @@ public class StandardGSYVideoPlayer extends GSYVideoPlayer { super.dismissVolumeDialog(); if (mVolumeDialog != null) { mVolumeDialog.dismiss(); + mVolumeDialog = null; } } @@ -755,6 +757,7 @@ public class StandardGSYVideoPlayer extends GSYVideoPlayer { super.dismissVolumeDialog(); if (mBrightnessDialog != null) { mBrightnessDialog.dismiss(); + mBrightnessDialog = null; } } -- GitLab