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

Commit

Permalink
Merge branch 'release/v5.0_preview'
Browse files Browse the repository at this point in the history
  • Loading branch information
Nathen committed Dec 4, 2016
2 parents 45be020 + 48f01be commit 7032bb4
Show file tree
Hide file tree
Showing 40 changed files with 874 additions and 1,069 deletions.
10 changes: 5 additions & 5 deletions README-ZH.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
--
<p align="center">
<a href="http://developer.android.com/index.html"><img src="https://img.shields.io/badge/platform-android-green.svg"></a>
<a href="http://search.maven.org/#artifactdetails%7Cfm.jiecao%7Cjiecaovideoplayer%7C4.6.3%7Caar"><img src="https://img.shields.io/badge/Maven%20Central-4.8.3-green.svg"></a>
<a href="http://search.maven.org/#artifactdetails%7Cfm.jiecao%7Cjiecaovideoplayer%7C4.6.3%7Caar"><img src="https://img.shields.io/badge/Maven%20Central-5.0_preview-green.svg"></a>
<a href="http://choosealicense.com/licenses/mit/"><img src="https://img.shields.io/badge/license-MIT-green.svg"></a>
<a href="https://android-arsenal.com/details/1/3269"><img src="https://img.shields.io/badge/Android%20Arsenal-jiecaovideoplayer-green.svg?style=true"></a>
</p>
Expand All @@ -26,20 +26,20 @@

##效果

**[jiecaovideoplayer-4.8.3-demo.apk](https://github.com/lipangit/JieCaoVideoPlayer/releases/download/v4.8.3/jiecaovideoplayer-4.8.3.apk)**
**[jiecaovideoplayer-5.0_preview-demo.apk](https://github.com/lipangit/JieCaoVideoPlayer/releases/download/v5.0_preview/jiecaovideoplayer-5.0_preview.apk)**

![Demo Screenshot][1]

##使用

即便是自定义UI,或者对Library有过修改,也是这四步骤来使用播放器。

1.添加类库
1.添加类库,稳定版本是4.8.3,这是用exoplayer播放的预览版本,给大家看看初步的效果,还有很多问题。
```gradle
compile 'fm.jiecao:jiecaovideoplayer:4.8.3'
compile 'fm.jiecao:jiecaovideoplayer:5.0_preview'
```

[或直接下载jar包](https://github.com/lipangit/JieCaoVideoPlayer/releases/tag/v4.8.3)
[或直接下载jar包](https://github.com/lipangit/JieCaoVideoPlayer/releases/tag/v5.0_preview)

2.添加布局
```xml
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
--
<p align="center">
<a href="http://developer.android.com/index.html"><img src="https://img.shields.io/badge/platform-android-green.svg"></a>
<a href="http://search.maven.org/#artifactdetails%7Cfm.jiecao%7Cjiecaovideoplayer%7C4.6.3%7Caar"><img src="https://img.shields.io/badge/Maven%20Central-4.8.3-green.svg"></a>
<a href="http://search.maven.org/#artifactdetails%7Cfm.jiecao%7Cjiecaovideoplayer%7C4.6.3%7Caar"><img src="https://img.shields.io/badge/Maven%20Central-5.0_preview-green.svg"></a>
<a href="http://choosealicense.com/licenses/mit/"><img src="https://img.shields.io/badge/license-MIT-green.svg"></a>
<a href="https://android-arsenal.com/details/1/3269"><img src="https://img.shields.io/badge/Android%20Arsenal-jiecaovideoplayer-green.svg?style=true"></a>
</p>
Expand All @@ -28,20 +28,20 @@

## Effect

**[jiecaovideoplayer-4.8.3-demo.apk](https://github.com/lipangit/JieCaoVideoPlayer/releases/download/v4.8.3/jiecaovideoplayer-4.8.3.apk)**
**[jiecaovideoplayer-5.0_preview-demo.apk](https://github.com/lipangit/JieCaoVideoPlayer/releases/download/v5.0_preview/jiecaovideoplayer-5.0_preview.apk)**

![Demo Screenshot][1]

## Usage

Even the custom UI, or has changed to the Library, is also the four steps to use the player.

1.Import library
1.Import library but current stable version is still 4.8.3, 5.0 use exoplayer also have many problems.
```gradle
compile 'fm.jiecao:jiecaovideoplayer:4.8.3'
compile 'fm.jiecao:jiecaovideoplayer:5.0_preview'
```

[Or download lib](https://github.com/lipangit/JieCaoVideoPlayer/releases/tag/v4.8.3)
[Or download lib](https://github.com/lipangit/JieCaoVideoPlayer/releases/tag/v5.0_preview)

2.Add JCVideoPlayer in your layout
```xml
Expand Down
22 changes: 11 additions & 11 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
apply plugin: 'com.android.application'

android {
compileSdkVersion 24
buildToolsVersion '24.0.2'
compileSdkVersion 25
buildToolsVersion '25.0.0'

defaultConfig {
applicationId "fm.jiecao.jiecaovideoplayer"
minSdkVersion 14
targetSdkVersion 24
versionCode 47
versionName "4.8.3"
minSdkVersion 16
targetSdkVersion 25
versionCode 48
versionName "5.0_preview"
}
buildTypes {
release {
Expand All @@ -26,15 +26,15 @@ dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile project(':jcvideoplayer-lib')
compile 'com.github.bumptech.glide:glide:3.5.2'
// compile 'com.github.bumptech.glide:glide:3.5.2'
compile 'com.squareup.picasso:picasso:2.5.1'
compile 'com.facebook.fresco:fresco:0.9.0'
compile 'com.mcxiaoke.volley:library:1.0.7'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.4'
// compile 'com.facebook.fresco:fresco:0.9.0'
// compile 'com.mcxiaoke.volley:library:1.0.7'
// compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.4'

debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'
testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'

compile 'com.android.support:recyclerview-v7:24.1.1'
compile 'com.android.support:recyclerview-v7:25.0.1'
}
2 changes: 2 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
package="fm.jiecao.jiecaovideoplayer">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

<application
android:name=".DemoApplication"
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/assets/jcvd.html
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ <h3 style="width:100%;text-align:center">This is webview</h3>
<div style="height:800px"></div>
<script>
var cont=document.getElementById("cont");
jcvd.adViewJieCaoVideoPlayer(-1,200,0,0)
jcvd.adViewJieCaoVideoPlayer(-1,200,0,0,0)
<!--jcvd.adViewJieCaoVideoPlayer(cont1.width,cont1.height,cont1.offsetTop,cont1.offsetLeft)-->

var cont1=document.getElementById("cont1");
jcvd.adViewJieCaoVideoPlayer(210,120,cont1.offsetTop,cont1.offsetLeft)
jcvd.adViewJieCaoVideoPlayer(210,120,cont1.offsetTop,cont1.offsetLeft,1)

</script>
</body>
Expand Down
Binary file added app/src/main/assets/local_video.mp4
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package fm.jiecao.jiecaovideoplayer.CustomView;

import android.content.Context;
import android.util.AttributeSet;

import fm.jiecao.jcvideoplayer_lib.JCVideoPlayerStandard;

/**
* Created by Nathen on 2016/11/26.
*/

public class JCVideoPlayerStandardAutoComplete extends JCVideoPlayerStandard {
public JCVideoPlayerStandardAutoComplete(Context context) {
super(context);
}

public JCVideoPlayerStandardAutoComplete(Context context, AttributeSet attrs) {
super(context, attrs);
}

@Override
public void onAutoCompletion() {
if (currentScreen == SCREEN_WINDOW_FULLSCREEN) {
setUiWitStateAndScreen(CURRENT_STATE_AUTO_COMPLETE);
} else {
super.onAutoCompletion();
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@
import android.widget.TextView;
import android.widget.Toast;

import com.facebook.drawee.view.SimpleDraweeView;

import java.util.Timer;
import java.util.TimerTask;

Expand All @@ -28,7 +26,10 @@
import fm.jiecao.jcvideoplayer_lib.JCVideoPlayer;
import fm.jiecao.jiecaovideoplayer.R;

//import com.facebook.drawee.view.SimpleDraweeView;

/**
* Just replace thumb from ImageView to SimpleDraweeView
* Created by Nathen
* On 2016/05/01 22:59
*/
Expand All @@ -37,8 +38,7 @@ public class JCVideoPlayerStandardFresco extends JCVideoPlayer {
public ImageView backButton;
public ProgressBar bottomProgressBar, loadingProgressBar;
public TextView titleTextView;
public SimpleDraweeView thumbImageView;
public ImageView coverImageView;
// public SimpleDraweeView thumbImageView;
public ImageView tinyBackImageView;

protected static Timer DISSMISS_CONTROL_VIEW_TIMER;
Expand All @@ -60,38 +60,34 @@ public void init(Context context) {
bottomProgressBar = (ProgressBar) findViewById(R.id.bottom_progressbar);
titleTextView = (TextView) findViewById(R.id.title);
backButton = (ImageView) findViewById(R.id.back);
thumbImageView = (SimpleDraweeView) findViewById(R.id.thumb);
coverImageView = (ImageView) findViewById(R.id.cover);
// thumbImageView = (SimpleDraweeView) findViewById(R.id.thumb);
loadingProgressBar = (ProgressBar) findViewById(R.id.loading);
tinyBackImageView = (ImageView) findViewById(R.id.back_tiny);

thumbImageView.setOnClickListener(this);
// thumbImageView.setOnClickListener(this);
backButton.setOnClickListener(this);
tinyBackImageView.setOnClickListener(this);

}

@Override
public boolean setUp(String url, int screen, Object... objects) {
if (objects.length == 0) return false;
if (super.setUp(url, screen, objects)) {
titleTextView.setText(objects[0].toString());
if (currentScreen == SCREEN_WINDOW_FULLSCREEN) {
fullscreenButton.setImageResource(R.drawable.jc_shrink);
backButton.setVisibility(View.VISIBLE);
tinyBackImageView.setVisibility(View.INVISIBLE);
} else if (currentScreen == SCREEN_LAYOUT_LIST) {
fullscreenButton.setImageResource(R.drawable.jc_enlarge);
backButton.setVisibility(View.GONE);
tinyBackImageView.setVisibility(View.INVISIBLE);
} else if (currentScreen == SCREEN_WINDOW_TINY) {
tinyBackImageView.setVisibility(View.VISIBLE);
setAllControlsVisible(View.INVISIBLE, View.INVISIBLE, View.INVISIBLE,
View.INVISIBLE, View.INVISIBLE, View.INVISIBLE, View.INVISIBLE);
}
return true;
public void setUp(String url, int screen, Object... objects) {
super.setUp(url, screen, objects);
if (objects.length == 0) return;
titleTextView.setText(objects[0].toString());
if (currentScreen == SCREEN_WINDOW_FULLSCREEN) {
fullscreenButton.setImageResource(R.drawable.jc_shrink);
backButton.setVisibility(View.VISIBLE);
tinyBackImageView.setVisibility(View.INVISIBLE);
} else if (currentScreen == SCREEN_LAYOUT_LIST) {
fullscreenButton.setImageResource(R.drawable.jc_enlarge);
backButton.setVisibility(View.GONE);
tinyBackImageView.setVisibility(View.INVISIBLE);
} else if (currentScreen == SCREEN_WINDOW_TINY) {
tinyBackImageView.setVisibility(View.VISIBLE);
setAllControlsVisible(View.INVISIBLE, View.INVISIBLE, View.INVISIBLE,
View.INVISIBLE, View.INVISIBLE, View.INVISIBLE, View.INVISIBLE);
}
return false;
}

@Override
Expand Down Expand Up @@ -500,8 +496,7 @@ private void setAllControlsVisible(int topCon, int bottomCon, int startBtn, int
bottomContainer.setVisibility(bottomCon);
startButton.setVisibility(startBtn);
loadingProgressBar.setVisibility(loadingPro);
thumbImageView.setVisibility(thumbImg);
coverImageView.setVisibility(coverImg);
// thumbImageView.setVisibility(thumbImg);
bottomProgressBar.setVisibility(bottomPro);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,15 +47,12 @@ public void onClick(View v) {
}

@Override
public boolean setUp(String url, int screen, Object... objects) {
if (super.setUp(url, screen, objects)) {
if (currentScreen == SCREEN_WINDOW_FULLSCREEN) {
shareButton.setVisibility(View.VISIBLE);
} else {
shareButton.setVisibility(View.INVISIBLE);
}
return true;
public void setUp(String url, int screen, Object... objects) {
super.setUp(url, screen, objects);
if (currentScreen == SCREEN_WINDOW_FULLSCREEN) {
shareButton.setVisibility(View.VISIBLE);
} else {
shareButton.setVisibility(View.INVISIBLE);
}
return false;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,12 @@ public JCVideoPlayerStandardShowTitleAfterFullscreen(Context context, AttributeS
}

@Override
public boolean setUp(String url, int screen, Object... objects) {
if (super.setUp(url, screen, objects)) {
if (currentScreen == SCREEN_WINDOW_FULLSCREEN) {
titleTextView.setVisibility(View.VISIBLE);
} else {
titleTextView.setVisibility(View.INVISIBLE);
}
return true;
public void setUp(String url, int screen, Object... objects) {
super.setUp(url, screen, objects);
if (currentScreen == SCREEN_WINDOW_FULLSCREEN) {
titleTextView.setVisibility(View.VISIBLE);
} else {
titleTextView.setVisibility(View.INVISIBLE);
}
return false;
}
}
40 changes: 0 additions & 40 deletions app/src/main/java/fm/jiecao/jiecaovideoplayer/DemoApplication.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,7 @@
package fm.jiecao.jiecaovideoplayer;

import android.app.Application;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;

import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
import com.squareup.leakcanary.LeakCanary;

/**
Expand All @@ -24,39 +14,9 @@ public class DemoApplication extends Application {
public void onCreate() {
super.onCreate();
LeakCanary.install(this);
initUniversalImageLoader();

//it is public static, you can set this everywhere
//JCVideoPlayer.TOOL_BAR_EXIST = false;
//JCVideoPlayer.ACTION_BAR_EXIST = false;
}

private void initUniversalImageLoader() {
ImageLoaderConfiguration.Builder config = new ImageLoaderConfiguration.Builder(getApplicationContext());
config.threadPriority(Thread.NORM_PRIORITY - 2);
config.denyCacheImageMultipleSizesInMemory();
config.diskCacheFileNameGenerator(new Md5FileNameGenerator());
config.diskCacheSize(50 * 1024 * 1024); // 50 MiB
config.tasksProcessingOrder(QueueProcessingType.LIFO);
config.writeDebugLogs(); // Remove for releaseAllVideos app
config.defaultDisplayImageOptions(getDefaultDisplayImageOption());
// Initialize ImageLoader with configuration.
ImageLoader.getInstance().init(config.build());
}

public static DisplayImageOptions getDefaultDisplayImageOption() {
DisplayImageOptions options = new DisplayImageOptions.Builder()
.showImageOnLoading(new ColorDrawable(Color.parseColor("#f0f0f0")))
.resetViewBeforeLoading(true)
.cacheInMemory(true)
.cacheOnDisk(true)
.considerExifParams(true)
.imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
.bitmapConfig(Bitmap.Config.RGB_565)
.displayer(new FadeInBitmapDisplayer(500)) // 设置图片渐显的时间
// .delayBeforeLoading(300) // 下载前的延迟时间
.build();
return options;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,11 @@ public View getView(int position, View convertView, ViewGroup parent) {
}

viewHolder.jcVideoPlayer.setUp(
VideoConstant.videoUrls[position], JCVideoPlayer.SCREEN_LAYOUT_LIST,
VideoConstant.videoTitles[position]);
VideoConstant.videoUrls[0][position], JCVideoPlayer.SCREEN_LAYOUT_LIST,
VideoConstant.videoTitles[0][position]);

Picasso.with(ListViewMultiHolderActivity.this)
.load(VideoConstant.videoThumbs[position])
.load(VideoConstant.videoThumbs[0][position])
.into(viewHolder.jcVideoPlayer.thumbImageView);
} else {
TextViewHolder textViewHolder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ protected void onCreate(Bundle savedInstanceState) {
ListView listView2 = (ListView) getLayoutInflater().inflate(R.layout.layout_list, null);
ListView listView3 = (ListView) getLayoutInflater().inflate(R.layout.layout_list, null);

listView1.setAdapter(new VideoListAdapter(this));
listView2.setAdapter(new VideoListAdapter(this));
listView3.setAdapter(new VideoListAdapter(this));
listView1.setAdapter(new VideoListAdapter(this, 0));
listView2.setAdapter(new VideoListAdapter(this, 1));
listView3.setAdapter(new VideoListAdapter(this, 2));

listViews.add(listView1);
listViews.add(listView2);
Expand Down
Loading

0 comments on commit 7032bb4

Please sign in to comment.