diff --git a/README-ZH.md b/README-ZH.md
index 2084b5bfe..711e52923 100644
--- a/README-ZH.md
+++ b/README-ZH.md
@@ -1,7 +1,7 @@
#节操视频播放器
[![Platform](https://img.shields.io/badge/platform-android-green.svg)](http://developer.android.com/index.html)
-[![Maven Central](https://img.shields.io/badge/Maven%20Central-3.1-green.svg)](http://search.maven.org/#artifactdetails%7Cfm.jiecao%7Cjiecaovideoplayer%7C3.1%7Caar)
+[![Maven Central](https://img.shields.io/badge/Maven%20Central-3.2-green.svg)](http://search.maven.org/#artifactdetails%7Cfm.jiecao%7Cjiecaovideoplayer%7C3.2%7Caar)
[![Licenses](https://img.shields.io/badge/license-MIT-green.svg)](http://choosealicense.com/licenses/mit/)
[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-jiecaovideoplayer-green.svg?style=true)](https://android-arsenal.com/details/1/3269)
[![GitHub stars](https://img.shields.io/github/stars/lipangit/jiecaovideoplayer.svg?style=social&label=Star)]()
@@ -21,7 +21,7 @@
##效果
-**[jiecaovideoplayer-3.1-demo.apk](https://raw.githubusercontent.com/lipangit/jiecaovideoplayer/develop/downloads/jiecaovideoplayer-3.1-demo.apk)**
+**[jiecaovideoplayer-3.2-demo.apk](https://raw.githubusercontent.com/lipangit/jiecaovideoplayer/develop/downloads/jiecaovideoplayer-3.2-demo.apk)**
![Demo Screenshot][1]
@@ -30,14 +30,14 @@
##使用
1.添加类库
```gradle
-compile 'fm.jiecao:jiecaovideoplayer:3.1'
+compile 'fm.jiecao:jiecaovideoplayer:3.2'
```
或直接下载
-* [jiecaovideoplayer-3.1.aar](https://raw.githubusercontent.com/lipangit/jiecaovideoplayer/develop/downloads/jiecaovideoplayer-3.1.aar)
-* [jiecaovideoplayer-3.1-javadoc.jar](https://raw.githubusercontent.com/lipangit/jiecaovideoplayer/develop/downloads/jiecaovideoplayer-3.1-javadoc.jar)
-* [jiecaovideoplayer-3.1-sources.jar](https://raw.githubusercontent.com/lipangit/jiecaovideoplayer/develop/downloads/jiecaovideoplayer-3.1-sources.jar)
+* [jiecaovideoplayer-3.2.aar](https://raw.githubusercontent.com/lipangit/jiecaovideoplayer/develop/downloads/jiecaovideoplayer-3.2.aar)
+* [jiecaovideoplayer-3.2-javadoc.jar](https://raw.githubusercontent.com/lipangit/jiecaovideoplayer/develop/downloads/jiecaovideoplayer-3.2-javadoc.jar)
+* [jiecaovideoplayer-3.2-sources.jar](https://raw.githubusercontent.com/lipangit/jiecaovideoplayer/develop/downloads/jiecaovideoplayer-3.2-sources.jar)
2.添加布局
```xml
diff --git a/README.md b/README.md
index 4d93b72c5..8d5a9c8ef 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
# JieCao Video Player
[![Platform](https://img.shields.io/badge/platform-android-green.svg)](http://developer.android.com/index.html)
-[![Maven Central](https://img.shields.io/badge/Maven%20Central-3.1-green.svg)](http://search.maven.org/#artifactdetails%7Cfm.jiecao%7Cjiecaovideoplayer%7C3.1%7Caar)
+[![Maven Central](https://img.shields.io/badge/Maven%20Central-3.2-green.svg)](http://search.maven.org/#artifactdetails%7Cfm.jiecao%7Cjiecaovideoplayer%7C3.2%7Caar)
[![Licenses](https://img.shields.io/badge/license-MIT-green.svg)](http://choosealicense.com/licenses/mit/)
[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-jiecaovideoplayer-green.svg?style=true)](https://android-arsenal.com/details/1/3269)
[![GitHub stars](https://img.shields.io/github/stars/lipangit/jiecaovideoplayer.svg?style=social&label=Star)]()
@@ -23,7 +23,7 @@ Android truly full-screen capabilities, the Android platform to become the most
## Effect
-**[jiecaovideoplayer-3.1-demo.apk](https://raw.githubusercontent.com/lipangit/jiecaovideoplayer/develop/downloads/jiecaovideoplayer-3.1-demo.apk)**
+**[jiecaovideoplayer-3.2-demo.apk](https://raw.githubusercontent.com/lipangit/jiecaovideoplayer/develop/downloads/jiecaovideoplayer-3.2-demo.apk)**
![Demo Screenshot][1]
@@ -32,14 +32,14 @@ Demo video : http://v.youku.com/v_show/id_XMTQ2NzUwOTcyNA==.html
## Usage
1.Import library
```gradle
-compile 'fm.jiecao:jiecaovideoplayer:3.1'
+compile 'fm.jiecao:jiecaovideoplayer:3.2'
```
Or download lib
-* [jiecaovideoplayer-3.1.aar](https://raw.githubusercontent.com/lipangit/jiecaovideoplayer/develop/downloads/jiecaovideoplayer-3.1.aar)
-* [jiecaovideoplayer-3.1-javadoc.jar](https://raw.githubusercontent.com/lipangit/jiecaovideoplayer/develop/downloads/jiecaovideoplayer-3.1-javadoc.jar)
-* [jiecaovideoplayer-3.1-sources.jar](https://raw.githubusercontent.com/lipangit/jiecaovideoplayer/develop/downloads/jiecaovideoplayer-3.1-sources.jar)
+* [jiecaovideoplayer-3.2.aar](https://raw.githubusercontent.com/lipangit/jiecaovideoplayer/develop/downloads/jiecaovideoplayer-3.2.aar)
+* [jiecaovideoplayer-3.2-javadoc.jar](https://raw.githubusercontent.com/lipangit/jiecaovideoplayer/develop/downloads/jiecaovideoplayer-3.2-javadoc.jar)
+* [jiecaovideoplayer-3.2-sources.jar](https://raw.githubusercontent.com/lipangit/jiecaovideoplayer/develop/downloads/jiecaovideoplayer-3.2-sources.jar)
2.Add JCVideoPlayer in your layout
```xml
diff --git a/app/build.gradle b/app/build.gradle
index 2a3c5451c..e81fa1eb3 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -8,8 +8,8 @@ android {
applicationId "fm.jiecao.jiecaovideoplayer"
minSdkVersion 16
targetSdkVersion 23
- versionCode 23
- versionName "3.1"
+ versionCode 24
+ versionName "3.2"
}
buildTypes {
release {
diff --git a/app/src/main/java/fm/jiecao/jiecaovideoplayer/View/JCVideoPlayerStandardFresco.java b/app/src/main/java/fm/jiecao/jiecaovideoplayer/View/JCVideoPlayerStandardFresco.java
index afa0846ce..10141b66c 100644
--- a/app/src/main/java/fm/jiecao/jiecaovideoplayer/View/JCVideoPlayerStandardFresco.java
+++ b/app/src/main/java/fm/jiecao/jiecaovideoplayer/View/JCVideoPlayerStandardFresco.java
@@ -126,7 +126,7 @@ public void onClick(View v) {
startDismissControlViewTimer();
}
} else if (i == R.id.surface_container) {
- if (jc_BuriedPointStandard != null && JCMediaManager.intance().listener == this) {
+ if (jc_BuriedPointStandard != null && JCMediaManager.instance().listener == this) {
if (IF_CURRENT_IS_FULLSCREEN) {
jc_BuriedPointStandard.onClickBlankFullscreen(url, objects);
} else {
diff --git a/app/src/main/res/layout/jc_layout_standard_fresco.xml b/app/src/main/res/layout/jc_layout_standard_fresco.xml
index 32212ce74..a5b98f33f 100644
--- a/app/src/main/res/layout/jc_layout_standard_fresco.xml
+++ b/app/src/main/res/layout/jc_layout_standard_fresco.xml
@@ -4,17 +4,16 @@
android:layout_height="match_parent"
android:background="@android:color/black">
+
+
-
+
+
-
mapHeadData, Object... objects) {
- if (JCMediaManager.intance().listener == this && (System.currentTimeMillis() - CLICK_QUIT_FULLSCREEN_TIME) < FULL_SCREEN_NORMAL_DELAY)
+ if (JCMediaManager.instance().listener == this && (System.currentTimeMillis() - CLICK_QUIT_FULLSCREEN_TIME) < FULL_SCREEN_NORMAL_DELAY)
return;
setUp(url, objects);
this.mapHeadData.clear();
@@ -154,8 +150,8 @@ protected void setStateAndUi(int state) {
CURRENT_STATE = state;
switch (CURRENT_STATE) {
case CURRENT_STATE_NORMAL:
- if (JCMediaManager.intance().listener == this) {
- JCMediaManager.intance().mediaPlayer.release();
+ if (JCMediaManager.instance().listener == this) {
+ JCMediaManager.instance().mediaPlayer.release();
}
break;
case CURRENT_STATE_PREPAREING:
@@ -167,7 +163,7 @@ protected void setStateAndUi(int state) {
startProgressTimer();
break;
case CURRENT_STATE_ERROR:
- JCMediaManager.intance().mediaPlayer.release();
+ JCMediaManager.instance().mediaPlayer.release();
break;
}
}
@@ -188,9 +184,9 @@ public void onClick(View v) {
}
prepareVideo();
} else if (CURRENT_STATE == CURRENT_STATE_PLAYING) {
- JCMediaManager.intance().mediaPlayer.pause();
+ JCMediaManager.instance().mediaPlayer.pause();
setStateAndUi(CURRENT_STATE_PAUSE);
- if (JC_BURIED_POINT != null && JCMediaManager.intance().listener == this) {
+ if (JC_BURIED_POINT != null && JCMediaManager.instance().listener == this) {
if (IF_CURRENT_IS_FULLSCREEN) {
JC_BURIED_POINT.onClickStopFullscreen(url, objects);
} else {
@@ -198,14 +194,14 @@ public void onClick(View v) {
}
}
} else if (CURRENT_STATE == CURRENT_STATE_PAUSE) {
- if (JC_BURIED_POINT != null && JCMediaManager.intance().listener == this) {
+ if (JC_BURIED_POINT != null && JCMediaManager.instance().listener == this) {
if (IF_CURRENT_IS_FULLSCREEN) {
JC_BURIED_POINT.onClickResumeFullscreen(url, objects);
} else {
JC_BURIED_POINT.onClickResume(url, objects);
}
}
- JCMediaManager.intance().mediaPlayer.start();
+ JCMediaManager.instance().mediaPlayer.start();
setStateAndUi(CURRENT_STATE_PLAYING);
}
} else if (i == R.id.fullscreen) {
@@ -213,13 +209,13 @@ public void onClick(View v) {
//quit fullscreen
backFullscreen();
} else {
- if (JC_BURIED_POINT != null && JCMediaManager.intance().listener == this) {
+ if (JC_BURIED_POINT != null && JCMediaManager.instance().listener == this) {
JC_BURIED_POINT.onEnterFullscreen(url, objects);
}
//to fullscreen
- JCMediaManager.intance().mediaPlayer.setDisplay(null);
- JCMediaManager.intance().lastListener = this;
- JCMediaManager.intance().listener = null;
+ JCMediaManager.instance().mediaPlayer.setDisplay(null);
+ JCMediaManager.instance().lastListener = this;
+ JCMediaManager.instance().listener = null;
IF_FULLSCREEN_FROM_NORMAL = true;
IF_RELEASE_WHEN_ON_PAUSE = false;
JCFullScreenActivity.toActivityFromNormal(getContext(), CURRENT_STATE, url, JCVideoPlayer.this.getClass(), this.objects);
@@ -233,26 +229,23 @@ public void onClick(View v) {
}
protected void prepareVideo() {
- if (JCMediaManager.intance().listener != null) {
- JCMediaManager.intance().listener.onCompletion();
- }
- JCMediaManager.intance().listener = this;
-// addSurfaceView();
- JCMediaManager.intance().prepareToPlay(getContext(), url, mapHeadData);
- if (!IF_CURRENT_IS_FULLSCREEN) {
- setDisplayCaseFailse();
+ if (JCMediaManager.instance().listener != null) {
+ JCMediaManager.instance().listener.onCompletion();
}
+ JCMediaManager.instance().listener = this;
+ addSurfaceView();
+ JCMediaManager.instance().prepareToPlay(getContext(), url, mapHeadData);
setStateAndUi(CURRENT_STATE_PREPAREING);
}
- private void addSurfaceView() {
+ public void addSurfaceView() {
if (rlSurfaceContainer.getChildCount() > 0) {
rlSurfaceContainer.removeAllViews();
}
surfaceView = new JCResizeSurfaceView(getContext());
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
-// surfaceView.setOnClickListener(this);
+
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT);
rlSurfaceContainer.addView(surfaceView, layoutParams);
@@ -284,17 +277,15 @@ public boolean onTouch(View v, MotionEvent event) {
if (!changePosition && !changeVolume) {
if (absDeltaX > threshold || absDeltaY > threshold) {
if (absDeltaX >= threshold) {
- if (CURRENT_STATE == CURRENT_STATE_PLAYING || CURRENT_STATE == CURRENT_STATE_PAUSE) {
- changePosition = true;
- downPosition = JCMediaManager.intance().mediaPlayer.getCurrentPosition();
- if (JC_BURIED_POINT != null && JCMediaManager.intance().listener == this) {
- JC_BURIED_POINT.onTouchScreenSeekPosition(url, objects);
- }
+ changePosition = true;
+ downPosition = getCurrentPositionWhenPlaying();
+ if (JC_BURIED_POINT != null && JCMediaManager.instance().listener == this) {
+ JC_BURIED_POINT.onTouchScreenSeekPosition(url, objects);
}
} else {
changeVolume = true;
downVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
- if (JC_BURIED_POINT != null && JCMediaManager.intance().listener == this) {
+ if (JC_BURIED_POINT != null && JCMediaManager.instance().listener == this) {
JC_BURIED_POINT.onTouchScreenSeekVolume(url, objects);
}
}
@@ -318,16 +309,14 @@ public boolean onTouch(View v, MotionEvent event) {
dlgVolume.dismiss();
}
if (changePosition) {
- JCMediaManager.intance().mediaPlayer.seekTo(resultTimePosition);
- if (CURRENT_STATE == CURRENT_STATE_PLAYING || CURRENT_STATE == CURRENT_STATE_PAUSE) {
- int duration = JCMediaManager.intance().mediaPlayer.getDuration();
- int progress = resultTimePosition * 100 / (duration == 0 ? 1 : duration);
- skProgress.setProgress(progress);
- }
+ JCMediaManager.instance().mediaPlayer.seekTo(resultTimePosition);
+ int duration = JCMediaManager.instance().mediaPlayer.getDuration();
+ int progress = resultTimePosition * 100 / (duration == 0 ? 1 : duration);
+ skProgress.setProgress(progress);
}
/////////////////////
startProgressTimer();
- if (JC_BURIED_POINT != null && JCMediaManager.intance().listener == this) {
+ if (JC_BURIED_POINT != null && JCMediaManager.instance().listener == this) {
if (IF_CURRENT_IS_FULLSCREEN) {
JC_BURIED_POINT.onClickSeekbarFullscreen(url, objects);
} else {
@@ -381,13 +370,11 @@ private void showProgressDialog(float deltaX) {
if (!dlgProgress.isShowing()) {
dlgProgress.show();
}
- if (CURRENT_STATE == CURRENT_STATE_PLAYING || CURRENT_STATE == CURRENT_STATE_PAUSE) {
- int totalTime = JCMediaManager.intance().mediaPlayer.getDuration();
- resultTimePosition = (int) (downPosition + deltaX * totalTime / screenWidth);
- dlgProgressCurrent.setText(JCUtils.stringForTime(resultTimePosition));
- dlgProgressTotal.setText(" / " + JCUtils.stringForTime(totalTime) + "");
- dlgProgressProgressBar.setProgress(resultTimePosition * 100 / totalTime);
- }
+ int totalTime = JCMediaManager.instance().mediaPlayer.getDuration();
+ resultTimePosition = (int) (downPosition + deltaX * totalTime / screenWidth);
+ dlgProgressCurrent.setText(JCUtils.stringForTime(resultTimePosition));
+ dlgProgressTotal.setText(" / " + JCUtils.stringForTime(totalTime) + "");
+ dlgProgressProgressBar.setProgress(resultTimePosition * 100 / totalTime);
if (deltaX > 0) {
dlgProgressIcon.setBackgroundResource(R.drawable.jc_forward_icon);
} else {
@@ -423,10 +410,8 @@ private void showVolumDialog(float deltaY) {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (fromUser) {
- if (CURRENT_STATE == CURRENT_STATE_PLAYING || CURRENT_STATE == CURRENT_STATE_PAUSE) {
- int time = progress * JCMediaManager.intance().mediaPlayer.getDuration() / 100;
- JCMediaManager.intance().mediaPlayer.seekTo(time);
- }
+ int time = progress * JCMediaManager.instance().mediaPlayer.getDuration() / 100;
+ JCMediaManager.instance().mediaPlayer.seekTo(time);
}
}
@@ -442,33 +427,19 @@ public void onStopTrackingTouch(SeekBar seekBar) {
@Override
public void surfaceCreated(SurfaceHolder holder) {
- if (FalseSetDisPlay) {//case setDisplay faild in prepared();
- FalseSetDisPlay = false;
- setDisplayCaseFailse();
- }
- if (IF_CURRENT_IS_FULLSCREEN) {//fullscreen from normal
- setDisplayCaseFailse();
- }
- if (BACK_FROM_FULLSCREEN) {
- BACK_FROM_FULLSCREEN = false;
- setDisplayCaseFailse();
- }
- ifNeedCreateSurfaceView = false;
+ setDisplayCaseFailed();
}
- private boolean FalseSetDisPlay = false;
- private void setDisplayCaseFailse() {
+ private void setDisplayCaseFailed() {//这里如果一直不成功是否有隐患
try {
- JCMediaManager.intance().mediaPlayer.setDisplay(surfaceHolder);
+ JCMediaManager.instance().mediaPlayer.setDisplay(surfaceHolder);
} catch (IllegalArgumentException e) {
Log.i(TAG, "recreate surfaceview from IllegalArgumentException");
- FalseSetDisPlay = true;
addSurfaceView();
e.printStackTrace();
} catch (IllegalStateException e1) {
Log.i(TAG, "recreate surfaceview from IllegalStateException");
- FalseSetDisPlay = true;
addSurfaceView();
e1.printStackTrace();
}
@@ -480,15 +451,13 @@ public void surfaceChanged(SurfaceHolder holder, int format, int width, int heig
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
- ifNeedCreateSurfaceView = true;
}
- private boolean ifNeedCreateSurfaceView = false;
@Override
public void onPrepared() {
if (CURRENT_STATE != CURRENT_STATE_PREPAREING) return;
- JCMediaManager.intance().mediaPlayer.start();
+ JCMediaManager.instance().mediaPlayer.start();
startProgressTimer();
setStateAndUi(CURRENT_STATE_PLAYING);
}
@@ -496,7 +465,7 @@ public void onPrepared() {
@Override
public void onAutoCompletion() {
//make me normal first
- if (JC_BURIED_POINT != null && JCMediaManager.intance().listener == this) {
+ if (JC_BURIED_POINT != null && JCMediaManager.instance().listener == this) {
if (IF_CURRENT_IS_FULLSCREEN) {
JC_BURIED_POINT.onAutoCompleteFullscreen(url, objects);
} else {
@@ -512,13 +481,15 @@ public void onCompletion() {
cancelProgressTimer();
resetProgressAndTime();
setStateAndUi(CURRENT_STATE_NORMAL);
-
+ if (rlSurfaceContainer.getChildCount() > 0) {
+ rlSurfaceContainer.removeAllViews();
+ }
//if fullscreen finish activity what ever the activity is directly or click fullscreen
finishMyFullscreen();
if (IF_FULLSCREEN_FROM_NORMAL) {//如果在进入全屏后播放完就初始化自己非全屏的控件
IF_FULLSCREEN_FROM_NORMAL = false;
- JCMediaManager.intance().lastListener.onCompletion();
+ JCMediaManager.instance().lastListener.onCompletion();
}
}
@@ -543,8 +514,8 @@ public void onError(int what, int extra) {
@Override
public void onVideoSizeChanged() {
- int mVideoWidth = JCMediaManager.intance().currentVideoWidth;
- int mVideoHeight = JCMediaManager.intance().currentVideoHeight;
+ int mVideoWidth = JCMediaManager.instance().currentVideoWidth;
+ int mVideoHeight = JCMediaManager.instance().currentVideoHeight;
if (mVideoWidth != 0 && mVideoHeight != 0) {
surfaceHolder.setFixedSize(mVideoWidth, mVideoHeight);
surfaceView.requestLayout();
@@ -553,8 +524,7 @@ public void onVideoSizeChanged() {
@Override
public void onBackFullscreen() {
- CURRENT_STATE = JCMediaManager.intance().lastState;
- BACK_FROM_FULLSCREEN = true;
+ CURRENT_STATE = JCMediaManager.instance().lastState;
setStateAndUi(CURRENT_STATE);
}
@@ -584,14 +554,20 @@ protected void cancelProgressTimer() {
}
}
- protected void setTextAndProgress(int secProgress) {
+ protected int getCurrentPositionWhenPlaying() {
+ int position = 0;
if (CURRENT_STATE == CURRENT_STATE_PLAYING || CURRENT_STATE == CURRENT_STATE_PAUSE) {
- int position = JCMediaManager.intance().mediaPlayer.getCurrentPosition();
- int duration = JCMediaManager.intance().mediaPlayer.getDuration();
- // if duration == 0 (e.g. in HLS streams) avoids ArithmeticException
- int progress = position * 100 / (duration == 0 ? 1 : duration);
- setProgressAndTime(progress, secProgress, position, duration);
+ position = JCMediaManager.instance().mediaPlayer.getCurrentPosition();
}
+ return position;
+ }
+
+ protected void setTextAndProgress(int secProgress) {
+ int position = getCurrentPositionWhenPlaying();
+ int duration = JCMediaManager.instance().mediaPlayer.getDuration();
+ // if duration == 0 (e.g. in HLS streams) avoids ArithmeticException
+ int progress = position * 100 / (duration == 0 ? 1 : duration);
+ setProgressAndTime(progress, secProgress, position, duration);
}
protected void setProgressAndTime(int progress, int secProgress, int currentTime, int totalTime) {
@@ -611,13 +587,13 @@ protected void resetProgressAndTime() {
}
protected void quitFullScreenGoToNormal() {
- if (JC_BURIED_POINT != null && JCMediaManager.intance().listener == this) {
+ if (JC_BURIED_POINT != null && JCMediaManager.instance().listener == this) {
JC_BURIED_POINT.onQuitFullscreen(url, objects);
}
- JCMediaManager.intance().mediaPlayer.setDisplay(null);
- JCMediaManager.intance().listener = JCMediaManager.intance().lastListener;
- JCMediaManager.intance().lastState = CURRENT_STATE;//save state
- JCMediaManager.intance().listener.onBackFullscreen();
+ JCMediaManager.instance().mediaPlayer.setDisplay(null);
+ JCMediaManager.instance().listener = JCMediaManager.instance().lastListener;
+ JCMediaManager.instance().lastState = CURRENT_STATE;//save state
+ JCMediaManager.instance().listener.onBackFullscreen();
finishMyFullscreen();
}
@@ -629,7 +605,7 @@ protected void finishMyFullscreen() {
public void backFullscreen() {
if (IF_FULLSCREEN_IS_DIRECTLY) {
- JCMediaManager.intance().mediaPlayer.stop();
+ JCMediaManager.instance().mediaPlayer.stop();
finishMyFullscreen();
} else {
CLICK_QUIT_FULLSCREEN_TIME = System.currentTimeMillis();
@@ -640,9 +616,9 @@ public void backFullscreen() {
public static void releaseAllVideos() {
if (IF_RELEASE_WHEN_ON_PAUSE) {
- JCMediaManager.intance().mediaPlayer.release();
- if (JCMediaManager.intance().listener != null) {
- JCMediaManager.intance().listener.onCompletion();
+ JCMediaManager.instance().mediaPlayer.release();
+ if (JCMediaManager.instance().listener != null) {
+ JCMediaManager.instance().listener.onCompletion();
}
} else {
IF_RELEASE_WHEN_ON_PAUSE = true;
diff --git a/jcvideoplayer-lib/src/main/java/fm/jiecao/jcvideoplayer_lib/JCVideoPlayerStandard.java b/jcvideoplayer-lib/src/main/java/fm/jiecao/jcvideoplayer_lib/JCVideoPlayerStandard.java
index f9eb34236..e9b4ec34c 100644
--- a/jcvideoplayer-lib/src/main/java/fm/jiecao/jcvideoplayer_lib/JCVideoPlayerStandard.java
+++ b/jcvideoplayer-lib/src/main/java/fm/jiecao/jcvideoplayer_lib/JCVideoPlayerStandard.java
@@ -54,6 +54,8 @@ protected void init(Context context) {
@Override
public void setUp(String url, Object... objects) {
+ if (JCMediaManager.instance().listener == this && (System.currentTimeMillis() - CLICK_QUIT_FULLSCREEN_TIME) < FULL_SCREEN_NORMAL_DELAY)
+ return;
if (objects.length == 0) return;
super.setUp(url, objects);
tvTitle.setText(objects[0].toString());
@@ -108,7 +110,7 @@ public boolean onTouch(View v, MotionEvent event) {
case MotionEvent.ACTION_UP:
startDismissControlViewTimer();
if (changePosition) {
- int duration = JCMediaManager.intance().mediaPlayer.getDuration();
+ int duration = JCMediaManager.instance().mediaPlayer.getDuration();
int progress = resultTimePosition * 100 / (duration == 0 ? 1 : duration);
pbBottom.setProgress(progress);
}
@@ -147,7 +149,7 @@ public void onClick(View v) {
startDismissControlViewTimer();
}
} else if (i == R.id.surface_container) {
- if (jc_BuriedPointStandard != null && JCMediaManager.intance().listener == this) {
+ if (jc_BuriedPointStandard != null && JCMediaManager.instance().listener == this) {
if (IF_CURRENT_IS_FULLSCREEN) {
jc_BuriedPointStandard.onClickBlankFullscreen(url, objects);
} else {
diff --git a/jcvideoplayer-lib/src/main/res/layout/jc_layout_base.xml b/jcvideoplayer-lib/src/main/res/layout/jc_layout_base.xml
index 4599f9e47..5d483e8e9 100644
--- a/jcvideoplayer-lib/src/main/res/layout/jc_layout_base.xml
+++ b/jcvideoplayer-lib/src/main/res/layout/jc_layout_base.xml
@@ -4,18 +4,16 @@
android:layout_height="match_parent"
android:background="@android:color/black">
+
+
-
-
+
+
-