Commit 771875a105d3114ee5987158ae099e95fae22ff3
1 parent
af53ca93
视频预览测试优化
Showing
5 changed files
with
33 additions
and
15 deletions
cloud/video/src/main/java/com/libs/video/video/exoplayer/play/CNVideoView.java
| ... | ... | @@ -12,6 +12,7 @@ import android.os.Build; |
| 12 | 12 | import android.os.Parcelable; |
| 13 | 13 | import android.text.TextUtils; |
| 14 | 14 | import android.util.AttributeSet; |
| 15 | +import android.util.Log; | |
| 15 | 16 | import android.view.Gravity; |
| 16 | 17 | import android.view.View; |
| 17 | 18 | import android.view.ViewGroup; |
| ... | ... | @@ -205,6 +206,7 @@ public class CNVideoView<P extends AbstractPlayer> extends FrameLayout |
| 205 | 206 | */ |
| 206 | 207 | @Override |
| 207 | 208 | public void start() { |
| 209 | + Log.e("ssss", "startPlay: "); | |
| 208 | 210 | boolean isStarted = false; |
| 209 | 211 | if (isInIdleState() || isInStartAbortState()) { |
| 210 | 212 | isStarted = startPlay(); | ... | ... |
core/app_qr/build.gradle
| ... | ... | @@ -5,14 +5,15 @@ android { |
| 5 | 5 | // buildToolsVersion "29.0.2" |
| 6 | 6 | // |
| 7 | 7 | // |
| 8 | -// defaultConfig { | |
| 9 | -// minSdkVersion 16 | |
| 10 | -// targetSdkVersion 29 | |
| 11 | -// versionCode 1 | |
| 12 | -// versionName "1.0" | |
| 13 | -// testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" | |
| 14 | -// consumerProguardFiles 'consumer-rules.pro' | |
| 15 | -// } | |
| 8 | + defaultConfig { | |
| 9 | + minSdkVersion 16 | |
| 10 | + targetSdkVersion 29 | |
| 11 | + versionCode 1 | |
| 12 | + versionName "1.0" | |
| 13 | + ndk { | |
| 14 | + abiFilters "armeabi-v7a" // 指定要ndk需要兼容的架构(这样其他依赖包里mips,x86,armeabi,arm-v8之类的so会被过滤掉) | |
| 15 | + } | |
| 16 | + } | |
| 16 | 17 | |
| 17 | 18 | buildTypes { |
| 18 | 19 | release { | ... | ... |
core/imageload/src/main/java/com/cnlive/core/imagepreview/ImagePreView.java
| ... | ... | @@ -172,11 +172,13 @@ public class ImagePreView extends FrameLayout implements ViewPager.OnPageChangeL |
| 172 | 172 | } |
| 173 | 173 | |
| 174 | 174 | private void startPlay(int position) { |
| 175 | + Log.e(TAG, "startPlay: release"); | |
| 175 | 176 | videoView.release(); |
| 176 | 177 | PlayerUtils.removeViewFormParent(videoView); |
| 177 | 178 | if(mSourceList.get(position).getType() == 1){ |
| 178 | 179 | |
| 179 | - }else if(mSourceList.get(position).getType() == 2){ | |
| 180 | + }else if(mSourceList.get(position).getType() == 2 && getCurrentItem().getImageView() == null){ | |
| 181 | + Log.e(TAG, "startPlay: "+position); | |
| 180 | 182 | getCurrentItem().removeAllViews(); |
| 181 | 183 | getCurrentItem().addView(videoView); |
| 182 | 184 | videoView.setUrl("http://ffyl.vods2.cnlive.com/223/vod/2018/1120/223_88c98ab1395f4762b703fbdd9d59d2e5/ff80808166c2a45201672f14a9933131_800.m3u8"); |
| ... | ... | @@ -192,7 +194,7 @@ public class ImagePreView extends FrameLayout implements ViewPager.OnPageChangeL |
| 192 | 194 | } |
| 193 | 195 | for (int i = 0, len = list.size(); i < len; i++) { |
| 194 | 196 | ViewData vd = new ViewData(list.get(i)); |
| 195 | - if (i == 0){ | |
| 197 | + if (i == 0 || i == 2){ | |
| 196 | 198 | vd.setType(2); |
| 197 | 199 | }else { |
| 198 | 200 | vd.setType(1); |
| ... | ... | @@ -565,11 +567,24 @@ public class ImagePreView extends FrameLayout implements ViewPager.OnPageChangeL |
| 565 | 567 | } |
| 566 | 568 | }); |
| 567 | 569 | }else if(mSourceList.get(position).getType() == 2){ |
| 570 | + if(drawee.getImageView() == null){ | |
| 571 | + videoView.setOnLongClickListener(new OnLongClickListener() { | |
| 572 | + @Override | |
| 573 | + public boolean onLongClick(View view) { | |
| 574 | + if (!hasAnimRunning && mItemLongPressListener != null) { | |
| 575 | + return mItemLongPressListener.onItemLongPress(position, videoView); | |
| 576 | + } | |
| 577 | + return false; | |
| 578 | + } | |
| 579 | + }); | |
| 580 | + } | |
| 568 | 581 | playEnterAnim = false; |
| 569 | 582 | playExitAnim = false; |
| 570 | 583 | draggable = false; |
| 571 | - videoView.setUrl("http://ffyl.vods2.cnlive.com/223/vod/2018/1120/223_88c98ab1395f4762b703fbdd9d59d2e5/ff80808166c2a45201672f14a9933131_800.m3u8"); | |
| 572 | - videoView.start(); | |
| 584 | + if(position == 0){ | |
| 585 | + videoView.setUrl("http://ffyl.vods2.cnlive.com/223/vod/2018/1120/223_88c98ab1395f4762b703fbdd9d59d2e5/ff80808166c2a45201672f14a9933131_800.m3u8"); | |
| 586 | + videoView.start(); | |
| 587 | + } | |
| 573 | 588 | } |
| 574 | 589 | } |
| 575 | 590 | ... | ... |
core/imageload/src/main/java/com/cnlive/core/imagepreview/listener/OnItemLongPressListener.java
| 1 | 1 | package com.cnlive.core.imagepreview.listener; |
| 2 | 2 | |
| 3 | -import android.widget.ImageView; | |
| 3 | +import android.view.View; | |
| 4 | 4 | |
| 5 | 5 | /** |
| 6 | 6 | * 图片长按 |
| ... | ... | @@ -9,5 +9,5 @@ import android.widget.ImageView; |
| 9 | 9 | */ |
| 10 | 10 | public interface OnItemLongPressListener { |
| 11 | 11 | |
| 12 | - boolean onItemLongPress(int position, ImageView imageView); | |
| 12 | + boolean onItemLongPress(int position, View imageView); | |
| 13 | 13 | } | ... | ... |
core/imageload/src/main/java/com/cnlive/core/ui/view/PreViewImageView.java
| ... | ... | @@ -132,7 +132,7 @@ public class PreViewImageView extends BaseView { |
| 132 | 132 | activity.binding.imagePre.watch(activity.position); |
| 133 | 133 | activity.binding.imagePre.setOnItemLongPressListener(new OnItemLongPressListener() { |
| 134 | 134 | @Override |
| 135 | - public boolean onItemLongPress(int position, ImageView imageView) { | |
| 135 | + public boolean onItemLongPress(int position, View imageView) { | |
| 136 | 136 | if(activity.data.isShowDialog()){ |
| 137 | 137 | activity.requestPermission(String.valueOf(R.string.dialog_imagepicker_permission_save_pic),new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, new OnPermissionResponseListener() { |
| 138 | 138 | @Override | ... | ... |