Skip to content
This repository has been archived by the owner on Aug 9, 2022. It is now read-only.

Commit

Permalink
Merge branch 'feature/perfect_version' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
Nathen committed Dec 31, 2015
2 parents 3ffcae3 + 4924e14 commit c34cd3d
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.SeekBar;
import android.widget.TextView;

Expand All @@ -37,7 +38,7 @@
public class JCVideoPlayer extends FrameLayout implements View.OnClickListener, SeekBar.OnSeekBarChangeListener, SurfaceHolder.Callback {

ImageView ivStart;
ProgressBar pbLoading;
ProgressBar pbLoading, pbBottom;
ImageView ivFullScreen;
SeekBar sbProgress;
TextView tvTimeCurrent, tvTimeTotal;
Expand All @@ -46,7 +47,7 @@ public class JCVideoPlayer extends FrameLayout implements View.OnClickListener,
LinearLayout llBottomControl;
TextView tvTitle;
ImageView ivThumb;
LinearLayout rlParent;
RelativeLayout rlParent;
LinearLayout llTitleContainer;
ImageView ivCover;

Expand Down Expand Up @@ -86,6 +87,7 @@ private void init(Context context) {
View.inflate(context, R.layout.video_control_view, this);
ivStart = (ImageView) findViewById(R.id.start);
pbLoading = (ProgressBar) findViewById(R.id.loading);
pbBottom = (ProgressBar) findViewById(R.id.bottom_progressbar);
ivFullScreen = (ImageView) findViewById(R.id.fullscreen);
sbProgress = (SeekBar) findViewById(R.id.progress);
tvTimeCurrent = (TextView) findViewById(R.id.current);
Expand All @@ -94,7 +96,7 @@ private void init(Context context) {
llBottomControl = (LinearLayout) findViewById(R.id.bottom_control);
tvTitle = (TextView) findViewById(R.id.title);
ivThumb = (ImageView) findViewById(R.id.thumb);
rlParent = (LinearLayout) findViewById(R.id.parentview);
rlParent = (RelativeLayout) findViewById(R.id.parentview);
llTitleContainer = (LinearLayout) findViewById(R.id.title_container);
ivCover = (ImageView) findViewById(R.id.cover);

Expand Down Expand Up @@ -165,11 +167,8 @@ public void setUp(String url, String thumb, String title, boolean ifFullScreen)
tvTitle.setText(title);
ivThumb.setVisibility(View.VISIBLE);
ivStart.setVisibility(View.VISIBLE);
llBottomControl.setVisibility(View.GONE);

// ivThumb.setImageResource(R.drawable.default_thum);
// ivThumb.setBackgroundColor(getResources().getColor(R.color.white_fafaf8));
// ivThumb.setScaleType(ImageView.ScaleType.FIT_XY);
llBottomControl.setVisibility(View.INVISIBLE);
pbBottom.setVisibility(View.VISIBLE);
ImageLoader.getInstance().displayImage(thumb, ivThumb, getDefaultDisplayImageOption());
CURRENT_STATE = CURRENT_STATE_NORMAL;
setTitleVisibility(View.VISIBLE);
Expand All @@ -188,12 +187,8 @@ public void setUpForFullscreen(String url, String thumb, String title, boolean i
tvTitle.setText(title);
ivThumb.setVisibility(View.VISIBLE);
ivStart.setVisibility(View.VISIBLE);
llBottomControl.setVisibility(View.GONE);

// ivThumb.setImageResource(R.drawable.default_thum);
// ivThumb.setBackgroundColor(getResources().getColor(R.color.white_fafaf8));
// ivThumb.setScaleType(ImageView.ScaleType.FIT_XY);
ImageLoader.getInstance().displayImage(thumb, ivThumb, getDefaultDisplayImageOption());
llBottomControl.setVisibility(View.INVISIBLE);
pbBottom.setVisibility(View.VISIBLE);
CURRENT_STATE = CURRENT_STATE_NORMAL;
setTitleVisibility(View.VISIBLE);
}
Expand All @@ -211,13 +206,15 @@ public void setState(int state) {
updateStartImage();
ivStart.setVisibility(View.VISIBLE);
llBottomControl.setVisibility(View.VISIBLE);
pbBottom.setVisibility(View.INVISIBLE);
setTitleVisibility(View.VISIBLE);
ivThumb.setVisibility(View.INVISIBLE);
ivCover.setVisibility(View.INVISIBLE);
} else if (CURRENT_STATE == CURRENT_STATE_PAUSE) {
updateStartImage();
ivStart.setVisibility(View.VISIBLE);
llBottomControl.setVisibility(View.VISIBLE);
pbBottom.setVisibility(View.INVISIBLE);
setTitleVisibility(View.VISIBLE);
ivThumb.setVisibility(View.INVISIBLE);
ivCover.setVisibility(View.INVISIBLE);
Expand All @@ -228,6 +225,7 @@ public void setState(int state) {
ivStart.setVisibility(View.VISIBLE);
ivThumb.setVisibility(View.VISIBLE);
llBottomControl.setVisibility(View.INVISIBLE);
pbBottom.setVisibility(View.VISIBLE);
ivCover.setVisibility(View.VISIBLE);
updateStartImage();
cancelDismissControlViewTimer();
Expand Down Expand Up @@ -299,6 +297,7 @@ private void cancelBufferTimer() {

private void dismissControlView() {
llBottomControl.setVisibility(View.INVISIBLE);
pbBottom.setVisibility(View.VISIBLE);
setTitleVisibility(View.INVISIBLE);
ivStart.setVisibility(View.INVISIBLE);
pbLoading.setVisibility(View.INVISIBLE);
Expand Down Expand Up @@ -373,6 +372,7 @@ public void onClick(View v) {
//退出全屏
quitFullScreen();
} else {
JCMediaPlayer.intance().mediaPlayer.pause();
JCMediaPlayer.intance().mediaPlayer.setDisplay(null);
JCMediaPlayer.intance().backUpUuid();
isClickFullscreen = true;
Expand All @@ -393,34 +393,40 @@ private void toggleClear() {
if (CURRENT_STATE == CURRENT_STATE_PREPAREING) {
if (llBottomControl.getVisibility() == View.VISIBLE) {
llBottomControl.setVisibility(View.INVISIBLE);
pbBottom.setVisibility(View.VISIBLE);
setTitleVisibility(View.INVISIBLE);
} else {
llBottomControl.setVisibility(View.VISIBLE);
pbBottom.setVisibility(View.INVISIBLE);
setTitleVisibility(View.VISIBLE);
}
ivStart.setVisibility(View.INVISIBLE);
pbLoading.setVisibility(View.VISIBLE);
} else if (CURRENT_STATE == CURRENT_STATE_PLAYING) {
if (llBottomControl.getVisibility() == View.VISIBLE) {
llBottomControl.setVisibility(View.INVISIBLE);
pbBottom.setVisibility(View.VISIBLE);
setTitleVisibility(View.INVISIBLE);
ivStart.setVisibility(View.INVISIBLE);
} else {
updateStartImage();
ivStart.setVisibility(View.VISIBLE);
llBottomControl.setVisibility(View.VISIBLE);
pbBottom.setVisibility(View.INVISIBLE);
setTitleVisibility(View.VISIBLE);
}
pbLoading.setVisibility(View.INVISIBLE);
} else if (CURRENT_STATE == CURRENT_STATE_PAUSE) {
if (llBottomControl.getVisibility() == View.VISIBLE) {
llBottomControl.setVisibility(View.INVISIBLE);
pbBottom.setVisibility(View.VISIBLE);
setTitleVisibility(View.INVISIBLE);
ivStart.setVisibility(View.INVISIBLE);
} else {
updateStartImage();
ivStart.setVisibility(View.VISIBLE);
llBottomControl.setVisibility(View.VISIBLE);
pbBottom.setVisibility(View.INVISIBLE);
setTitleVisibility(View.VISIBLE);
}
pbLoading.setVisibility(View.INVISIBLE);
Expand All @@ -430,6 +436,7 @@ private void toggleClear() {
public void quitFullScreen() {
FullScreenActivity.manualQuit = true;
clickfullscreentime = System.currentTimeMillis();
JCMediaPlayer.intance().mediaPlayer.pause();
JCMediaPlayer.intance().mediaPlayer.setDisplay(null);
JCMediaPlayer.intance().revertUuid();
VideoEvents videoEvents = new VideoEvents().setType(VideoEvents.VE_SURFACEHOLDER_FINISH_FULLSCREEN);
Expand All @@ -456,8 +463,10 @@ private void setProgressAndTimeFromMediaPlayer(int secProgress) {

private void setProgressAndTime(int progress, int secProgress, int currentTime, int totalTime) {
sbProgress.setProgress(progress);
pbBottom.setProgress(progress);
if (secProgress >= 0) {
sbProgress.setSecondaryProgress(secProgress);
pbBottom.setSecondaryProgress(secProgress);
}
tvTimeCurrent.setText(stringForTime(currentTime));
tvTimeTotal.setText(stringForTime(totalTime));
Expand Down Expand Up @@ -492,6 +501,7 @@ public void onEventMainThread(VideoEvents videoEvents) {
pbLoading.setVisibility(View.INVISIBLE);
ivCover.setVisibility(View.INVISIBLE);
llBottomControl.setVisibility(View.VISIBLE);
pbBottom.setVisibility(View.INVISIBLE);
CURRENT_STATE = CURRENT_STATE_PLAYING;
startDismissControlViewTimer();
startUpdateBufferTimer();
Expand Down Expand Up @@ -610,11 +620,6 @@ private void stopToFullscreenOrQuitFullscreenShowDisplay() {
new Thread(new Runnable() {
@Override
public void run() {
// try {
// Thread.sleep(50);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
((Activity) getContext()).runOnUiThread(new Runnable() {
@Override
public void run() {
Expand All @@ -625,6 +630,8 @@ public void run() {
}
}).start();
surfaceView.requestLayout();
} else if (CURRENT_STATE == CURRENT_STATE_PLAYING) {
JCMediaPlayer.intance().mediaPlayer.start();
}
}

Expand Down
29 changes: 29 additions & 0 deletions jcvideoplayer-lib/src/main/res/drawable/video_progress.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<solid android:color="#4c000000" />
<size android:height="4.0dip" />
<corners android:radius="1.0dip" />
</shape>
</item>
<item android:id="@android:id/secondaryProgress">
<clip>
<shape>
<solid android:color="#ffe0e0e0" />
<size android:height="4.0dip" />
<corners android:radius="1.0dip" />
</shape>
</clip>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<solid android:color="#fff85959" />
<size android:height="4.0dip" />
<corners android:radius="1.0dip" />
</shape>
</clip>
</item>
</layer-list>
18 changes: 15 additions & 3 deletions jcvideoplayer-lib/src/main/res/layout/video_control_view.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
android:layout_height="match_parent"
android:background="@android:color/black">

<LinearLayout
<RelativeLayout
android:id="@+id/parentview"
android:layout_width="match_parent"
android:layout_height="match_parent"
Expand All @@ -15,7 +15,18 @@
android:id="@+id/surfaceView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>

<ProgressBar
android:id="@+id/bottom_progressbar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="1.5dip"
android:layout_alignParentBottom="true"
android:background="@null"
android:indeterminateDrawable="@null"
android:max="100"
android:progressDrawable="@drawable/video_progress" />
</RelativeLayout>

<ImageView
android:id="@+id/cover"
Expand Down Expand Up @@ -45,7 +56,8 @@
android:layout_alignParentBottom="true"
android:background="@drawable/biz_video_bar_bg"
android:gravity="center_vertical"
android:orientation="horizontal">
android:orientation="horizontal"
android:visibility="invisible">

<TextView
android:id="@+id/current"
Expand Down

0 comments on commit c34cd3d

Please sign in to comment.