提交 4e708d89 编写于 作者: S shuyu

1.3.7 优化了暂停的时候退后台黑色的问题

上级 2cb1fb31
......@@ -21,13 +21,13 @@
<dependency>
<groupId>com.shuyu</groupId>
<artifactId>gsyVideoPlayer</artifactId>
<version>1.3.5</version>
<version>1.3.7</version>
<type>pom</type>
</dependency>
```
```
compile 'com.shuyu:gsyVideoPlayer:1.3.5'
compile 'com.shuyu:gsyVideoPlayer:1.3.7'
```
## 效果,录屏下的屏幕旋转和实际有些出入
......@@ -47,7 +47,7 @@ compile 'com.shuyu:gsyVideoPlayer:1.3.5'
* <h4>3、详情模式</h4>
<img src="https://github.com/CarGuo/GSYVideoPlayer/blob/master/04.gif" width="240px" height="426px"/>
### 1.3.7 优化了弹出框;优化了暂停的时候全屏/恢复全屏会是黑色的问题
### 1.3.7 优化了弹出框;优化了暂停的时候(全屏/恢复全屏/退到)会是黑色的问题;解决了暂停的时候拖动进度条问题
### 1.3.6 区分了没有网络和没有wifi的提示;更新了Demo detailPlayer直接旋转全屏,返回正常的详情效果
......
......@@ -8,6 +8,7 @@ import android.view.View;
import com.shuyu.gsyvideoplayer.GSYVideoPlayer;
/**
* Created by shuyu on 2016/11/18.
* 还是建议继承StandardGSYVideoPlayer
*/
public class SampleExtendsPlayer extends GSYVideoPlayer {
......
......@@ -18,7 +18,7 @@ org.gradle.jvmargs=-Xmx1536m
BINTRAY_USER=
BINTRAY_KEY=
PROJ_GROUP=com.shuyu
PROJ_VERSION=1.3.6
PROJ_VERSION=1.3.7
PROJ_NAME=gsyVideo
PROJ_WEBSITEURL=hhttps://github.com/CarGuo/GSYVideoPlayer
PROJ_ISSUETRACKERURL=
......
......@@ -30,7 +30,6 @@ import com.shuyu.gsyvideoplayer.utils.StorageUtils;
import com.shuyu.gsyvideoplayer.video.GSYBaseVideoPlayer;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
......@@ -259,6 +258,7 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
if (isCurrentMediaListener()) {
cancelProgressTimer();
GSYVideoManager.instance().releaseMediaPlayer();
releasePauseCoverAndBitmap();
}
if (mAudioManager != null) {
mAudioManager.abandonAudioFocus(onAudioFocusChangeListener);
......@@ -666,6 +666,7 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
&& !mFullPauseBitmap.isRecycled()) {
mCoverImageView.setImageResource(R.drawable.empty_drawable);
mCoverImageView.setVisibility(GONE);
//如果在这里销毁,可能会draw a recycler bitmap error
mFullPauseBitmap = null;
}
} catch (Exception e) {
......@@ -673,6 +674,24 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
}
}
/**
* 销毁暂停切换显示的bitmap
*/
protected void releasePauseCoverAndBitmap() {
try {
if (mCurrentState != CURRENT_STATE_PAUSE && mFullPauseBitmap != null
&& !mFullPauseBitmap.isRecycled()) {
mCoverImageView.setImageResource(R.drawable.empty_drawable);
mCoverImageView.setVisibility(GONE);
mFullPauseBitmap.recycle();
mFullPauseBitmap = null;
}
} catch (Exception e) {
e.printStackTrace();
}
}
protected void showProgressDialog(float deltaX,
String seekTime, int seekTimePosition,
String totalTime, int totalTimeDuration) {
......@@ -726,7 +745,7 @@ public abstract class GSYVideoPlayer extends GSYBaseVideoPlayer implements View.
mVideoAllCallBack.onClickSeekbar(mUrl, mObjects);
}
}
if (GSYVideoManager.instance().getMediaPlayer() != null && GSYVideoManager.instance().getMediaPlayer().isPlaying()) {
if (GSYVideoManager.instance().getMediaPlayer() != null && mHadPlay) {
int time = seekBar.getProgress() * getDuration() / 100;
GSYVideoManager.instance().getMediaPlayer().seekTo(time);
}
......
......@@ -412,15 +412,17 @@ public class StandardGSYVideoPlayer extends GSYVideoPlayer {
mLoadingProgressBar.setVisibility(View.INVISIBLE);
mLoadingProgressBar.reset();
mThumbImageViewLayout.setVisibility(View.INVISIBLE);
mCoverImageView.setVisibility(View.INVISIBLE);
//mCoverImageView.setVisibility(View.INVISIBLE);
mBottomProgressBar.setVisibility(View.INVISIBLE);
updateStartImage();
updatePauseCover();
}
private void changeUiToPauseClear() {
Debuger.printfLog("changeUiToPauseClear");
changeUiToClear();
mBottomProgressBar.setVisibility(View.VISIBLE);
updatePauseCover();
}
private void changeUiToPlayingBufferingShow() {
......@@ -514,6 +516,15 @@ public class StandardGSYVideoPlayer extends GSYVideoPlayer {
}
}
private void updatePauseCover() {
if (mFullPauseBitmap == null || mFullPauseBitmap.isRecycled()) {
Point point = CommonUtil.getPauseBitmapSize(getWidth(), getHeight());
mFullPauseBitmap = mTextureView.getBitmap(point.x, point.y);
}
showPauseCover();
}
@Override
protected void showProgressDialog(float deltaX, String seekTime, int seekTimePosition, String totalTime, int totalTimeDuration) {
super.showProgressDialog(deltaX, seekTime, seekTimePosition, totalTime, totalTimeDuration);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册