Commit 771875a105d3114ee5987158ae099e95fae22ff3

Authored by 韩亚云
1 parent af53ca93

视频预览测试优化

cloud/video/src/main/java/com/libs/video/video/exoplayer/play/CNVideoView.java
@@ -12,6 +12,7 @@ import android.os.Build; @@ -12,6 +12,7 @@ import android.os.Build;
12 import android.os.Parcelable; 12 import android.os.Parcelable;
13 import android.text.TextUtils; 13 import android.text.TextUtils;
14 import android.util.AttributeSet; 14 import android.util.AttributeSet;
  15 +import android.util.Log;
15 import android.view.Gravity; 16 import android.view.Gravity;
16 import android.view.View; 17 import android.view.View;
17 import android.view.ViewGroup; 18 import android.view.ViewGroup;
@@ -205,6 +206,7 @@ public class CNVideoView<P extends AbstractPlayer> extends FrameLayout @@ -205,6 +206,7 @@ public class CNVideoView<P extends AbstractPlayer> extends FrameLayout
205 */ 206 */
206 @Override 207 @Override
207 public void start() { 208 public void start() {
  209 + Log.e("ssss", "startPlay: ");
208 boolean isStarted = false; 210 boolean isStarted = false;
209 if (isInIdleState() || isInStartAbortState()) { 211 if (isInIdleState() || isInStartAbortState()) {
210 isStarted = startPlay(); 212 isStarted = startPlay();
core/app_qr/build.gradle
@@ -5,14 +5,15 @@ android { @@ -5,14 +5,15 @@ android {
5 // buildToolsVersion "29.0.2" 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 buildTypes { 18 buildTypes {
18 release { 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,11 +172,13 @@ public class ImagePreView extends FrameLayout implements ViewPager.OnPageChangeL
172 } 172 }
173 173
174 private void startPlay(int position) { 174 private void startPlay(int position) {
  175 + Log.e(TAG, "startPlay: release");
175 videoView.release(); 176 videoView.release();
176 PlayerUtils.removeViewFormParent(videoView); 177 PlayerUtils.removeViewFormParent(videoView);
177 if(mSourceList.get(position).getType() == 1){ 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 getCurrentItem().removeAllViews(); 182 getCurrentItem().removeAllViews();
181 getCurrentItem().addView(videoView); 183 getCurrentItem().addView(videoView);
182 videoView.setUrl("http://ffyl.vods2.cnlive.com/223/vod/2018/1120/223_88c98ab1395f4762b703fbdd9d59d2e5/ff80808166c2a45201672f14a9933131_800.m3u8"); 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,7 +194,7 @@ public class ImagePreView extends FrameLayout implements ViewPager.OnPageChangeL
192 } 194 }
193 for (int i = 0, len = list.size(); i < len; i++) { 195 for (int i = 0, len = list.size(); i < len; i++) {
194 ViewData vd = new ViewData(list.get(i)); 196 ViewData vd = new ViewData(list.get(i));
195 - if (i == 0){ 197 + if (i == 0 || i == 2){
196 vd.setType(2); 198 vd.setType(2);
197 }else { 199 }else {
198 vd.setType(1); 200 vd.setType(1);
@@ -565,11 +567,24 @@ public class ImagePreView extends FrameLayout implements ViewPager.OnPageChangeL @@ -565,11 +567,24 @@ public class ImagePreView extends FrameLayout implements ViewPager.OnPageChangeL
565 } 567 }
566 }); 568 });
567 }else if(mSourceList.get(position).getType() == 2){ 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 playEnterAnim = false; 581 playEnterAnim = false;
569 playExitAnim = false; 582 playExitAnim = false;
570 draggable = false; 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 package com.cnlive.core.imagepreview.listener; 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,5 +9,5 @@ import android.widget.ImageView;
9 */ 9 */
10 public interface OnItemLongPressListener { 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,7 +132,7 @@ public class PreViewImageView extends BaseView {
132 activity.binding.imagePre.watch(activity.position); 132 activity.binding.imagePre.watch(activity.position);
133 activity.binding.imagePre.setOnItemLongPressListener(new OnItemLongPressListener() { 133 activity.binding.imagePre.setOnItemLongPressListener(new OnItemLongPressListener() {
134 @Override 134 @Override
135 - public boolean onItemLongPress(int position, ImageView imageView) { 135 + public boolean onItemLongPress(int position, View imageView) {
136 if(activity.data.isShowDialog()){ 136 if(activity.data.isShowDialog()){
137 activity.requestPermission(String.valueOf(R.string.dialog_imagepicker_permission_save_pic),new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, new OnPermissionResponseListener() { 137 activity.requestPermission(String.valueOf(R.string.dialog_imagepicker_permission_save_pic),new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, new OnPermissionResponseListener() {
138 @Override 138 @Override