From 6b449a6990f9cd852f36553a39cdd318d87448ba Mon Sep 17 00:00:00 2001 From: shuyu <359369982@qq.com> Date: Mon, 4 Sep 2017 20:42:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=86=E5=B0=81=E9=9D=A2?= =?UTF-8?q?=E5=9B=BE=E5=AE=9E=E7=8E=B0=E5=92=8C=E7=AC=AC=E4=B8=80=E5=B8=A7?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=9A=84demo=20(2017-09-04=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 ++ .../DetailMoreTypeActivity.java | 19 +++++++++++++++++-- .../adapter/ListNormalAdapter.java | 14 +++++++------- .../video/SampleCoverVideo.java | 15 ++++++++++++++- build.gradle | 2 -- dependencies.gradle | 5 +++++ 6 files changed, 45 insertions(+), 12 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 3abddb9..174d840 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -56,6 +56,8 @@ dependencies { compile viewDependencies.ndkbitmap_armv7a compile viewDependencies.ndkbitmap_armv5 compile viewDependencies.ndkbitmap_x86 + compile viewDependencies.glide + compile viewDependencies.glideProcessor compile androidDependencies.support_v4 //debugCompile dataDependencies.leakcanary compile project(':gsyVideoPlayer') diff --git a/app/src/main/java/com/example/gsyvideoplayer/DetailMoreTypeActivity.java b/app/src/main/java/com/example/gsyvideoplayer/DetailMoreTypeActivity.java index 0d2d0f7..d3f672f 100644 --- a/app/src/main/java/com/example/gsyvideoplayer/DetailMoreTypeActivity.java +++ b/app/src/main/java/com/example/gsyvideoplayer/DetailMoreTypeActivity.java @@ -11,6 +11,8 @@ import android.view.View; import android.widget.ImageView; import android.widget.RelativeLayout; +import com.bumptech.glide.Glide; +import com.bumptech.glide.request.RequestOptions; import com.example.gsyvideoplayer.listener.SampleListener; import com.example.gsyvideoplayer.model.SwitchVideoModel; import com.example.gsyvideoplayer.video.SampleVideo; @@ -215,7 +217,9 @@ public class DetailMoreTypeActivity extends AppCompatActivity { * @param url */ public void loadFirstFrameCover(String url) { - final MediaMetadataRetriever mediaMetadataRetriever = getMediaMetadataRetriever(url); + + //原始方法 + /*final MediaMetadataRetriever mediaMetadataRetriever = getMediaMetadataRetriever(url); //获取帧图片 if (getMediaMetadataRetriever(url) != null) { new Thread(new Runnable() { @@ -235,7 +239,18 @@ public class DetailMoreTypeActivity extends AppCompatActivity { }); } }).start(); - } + }*/ + + //可以参考Glide,内部也是封装了MediaMetadataRetriever + Glide.with(this.getApplicationContext()) + .setDefaultRequestOptions( + new RequestOptions() + .frame(1000000) + .centerCrop() + .error(R.mipmap.xxx2) + .placeholder(R.mipmap.xxx1)) + .load(url) + .into(coverImageView); } public MediaMetadataRetriever getMediaMetadataRetriever(String url) { diff --git a/app/src/main/java/com/example/gsyvideoplayer/adapter/ListNormalAdapter.java b/app/src/main/java/com/example/gsyvideoplayer/adapter/ListNormalAdapter.java index b4c341d..6ffedba 100644 --- a/app/src/main/java/com/example/gsyvideoplayer/adapter/ListNormalAdapter.java +++ b/app/src/main/java/com/example/gsyvideoplayer/adapter/ListNormalAdapter.java @@ -70,17 +70,17 @@ public class ListNormalAdapter extends BaseAdapter { } - if (position % 2 == 0) { - holder.gsyVideoPlayer.loadCoverImage("",R.mipmap.xxx1); - } else { - holder.gsyVideoPlayer.loadCoverImage("",R.mipmap.xxx2); - } - - final String url = "http://baobab.wdjcdn.com/14564977406580.mp4"; //final String url = "http://7xse1z.com1.z0.glb.clouddn.com/1491813192"; //final String url = "http://111.198.24.133:83/yyy_login_server/pic/YB059284/97778276040859/1.mp4"; + + if (position % 2 == 0) { + holder.gsyVideoPlayer.loadCoverImage(url, R.mipmap.xxx1); + } else { + holder.gsyVideoPlayer.loadCoverImage(url, R.mipmap.xxx2); + } + //默认缓存路径 holder.gsyVideoPlayer.setUp(url, true, null, "这是title"); diff --git a/app/src/main/java/com/example/gsyvideoplayer/video/SampleCoverVideo.java b/app/src/main/java/com/example/gsyvideoplayer/video/SampleCoverVideo.java index eb365a6..81cb962 100644 --- a/app/src/main/java/com/example/gsyvideoplayer/video/SampleCoverVideo.java +++ b/app/src/main/java/com/example/gsyvideoplayer/video/SampleCoverVideo.java @@ -4,6 +4,11 @@ import android.content.Context; import android.util.AttributeSet; import android.widget.ImageView; +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.DecodeFormat; +import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; +import com.bumptech.glide.load.resource.bitmap.VideoBitmapDecoder; +import com.bumptech.glide.request.RequestOptions; import com.example.gsyvideoplayer.R; import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer; import com.shuyu.gsyvideoplayer.video.base.GSYBaseVideoPlayer; @@ -47,7 +52,15 @@ public class SampleCoverVideo extends StandardGSYVideoPlayer { public void loadCoverImage(String url, int res) { mUrl = url; mDefaultRes = res; - mCoverImage.setImageResource(res); + Glide.with(getContext().getApplicationContext()) + .setDefaultRequestOptions( + new RequestOptions() + .frame(1000000) + .centerCrop() + .error(res) + .placeholder(res)) + .load(url) + .into(mCoverImage); } @Override diff --git a/build.gradle b/build.gradle index be49001..3c4b649 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,6 @@ apply from: 'dependencies.gradle' buildscript { repositories { - maven { url 'https://jitpack.io' } jcenter() } @@ -19,7 +18,6 @@ buildscript { allprojects { repositories { - maven { url 'https://jitpack.io' } jcenter() } diff --git a/dependencies.gradle b/dependencies.gradle index 101f0c7..f2ed4a5 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -25,6 +25,8 @@ ext { videocache = '2.7.0' leakcanary = '1.5' + imageLoader = '4.0.0' + androidDependencies = [ recyclerView: "com.android.support:recyclerview-v7:${supportLibraryVersion}", appcompat_v7: "com.android.support:appcompat-v7:${otherLibraryVersion}", @@ -48,6 +50,9 @@ ext { ndkbitmap_armv7a : "com.github.ctiao:ndkbitmap-armv7a:${DanmakuFlameMaster}", ndkbitmap_armv5 : "com.github.ctiao:ndkbitmap-armv5:${DanmakuFlameMaster}", ndkbitmap_x86 : "com.github.ctiao:ndkbitmap-x86:${DanmakuFlameMaster}", + glide : "com.github.bumptech.glide:glide:${imageLoader}", + glideProcessor : "com.github.bumptech.glide:compiler:${imageLoader}" + ] dataDependencies = [ -- GitLab