From efafbbf142c81c233c71de636a2d3ce9dc2124f0 Mon Sep 17 00:00:00 2001
From: Linjiajia <319408893@qq.com>
Date: 星期二, 12 九月 2023 19:20:05 +0800
Subject: [PATCH] 修复bug

---
 app/src/main/java/com/application/zhangshi_app_android/ui/function/VideoFragment.java |   73 ++++++++++++++++++++----------------
 1 files changed, 41 insertions(+), 32 deletions(-)

diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/VideoFragment.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/VideoFragment.java
index 13ca480..3c008a5 100644
--- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/VideoFragment.java
+++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/VideoFragment.java
@@ -30,16 +30,18 @@
  */
 public class VideoFragment extends BaseFragment<FragmentVideoBinding, VideoFragmentViewModel> {
     OrientationUtils orientationUtils;
-    private List<BannerBean> videoList;
     private boolean isPlay;
     private boolean isPause;
-
+    private boolean isNeedStart = true;//鏄惁闇�瑕佸紑濮嬫挱鏀�
+    private String playUrl;
+    private onPlayListener onPlayListener;
     public VideoFragment() {
     }
 
-    public static VideoFragment newInstance() {
+    public static VideoFragment newInstance(String playUrl) {
         VideoFragment fragment = new VideoFragment();
         Bundle args = new Bundle();
+        args.putSerializable("playUrl", playUrl);
         fragment.setArguments(args);
         return fragment;
     }
@@ -59,24 +61,13 @@
     @Override
     protected void initParam() {
         if (getArguments() != null) {
-            videoList = (List<BannerBean>) getArguments().getSerializable("videoList");
+            playUrl = (String) getArguments().getSerializable("playUrl");
         }
     }
 
     @Override
     protected void initView() {
-        String playUrl = null;
-        for (BannerBean bannerBean : videoList) {
-            if (bannerBean.getChoose() == 1){
-                playUrl = bannerBean.getUrl();
-                break;
-            }
-        }
         if (playUrl != null){
-            binding.videoPlayer.setVisibility(View.VISIBLE);
-            binding.layoutDataNull.setVisibility(View.GONE);
-
-
             //澶栭儴杈呭姪鐨勬棆杞紝甯姪鍏ㄥ睆
             //orientationUtils = new OrientationUtils(this, binding.videoPlayer);
             //鍒濆鍖栦笉鎵撳紑澶栭儴鐨勬棆杞�
@@ -98,7 +89,7 @@
                     .setShowFullAnimation(false)
                     .setUrl(playUrl)
                     .setNeedLockFull(true)
-                    .setCacheWithPlay(false)
+                    .setCacheWithPlay(true)
                     .setVideoTitle("")
                     .setLooping(false)
                     ///涓嶉渶瑕佹棆杞�
@@ -120,6 +111,21 @@
 //                        if (orientationUtils != null) {
 //                            orientationUtils.backToProtVideo();
 //                        }
+                        }
+
+                        @Override
+                        public void onAutoComplete(String url, Object... objects) {
+                            super.onAutoComplete(url, objects);
+                            if (onPlayListener != null){
+                                onPlayListener.onComplete();
+                            }
+                            isNeedStart = true;
+                        }
+
+                        @Override
+                        public void onComplete(String url, Object... objects) {
+                            super.onComplete(url, objects);
+//                            isNeedStart = true;
                         }
                     })
                     .setLockClickListener(new LockClickListener() {
@@ -143,9 +149,6 @@
                     binding.videoPlayer.startWindowFullscreen(getSelfActivity(), true, true);
                 }
             });
-        }else {
-            binding.videoPlayer.setVisibility(View.GONE);
-            binding.layoutDataNull.setVisibility(View.VISIBLE);
         }
     }
 
@@ -154,19 +157,7 @@
 
     }
 
-    public void setVideoList(List<BannerBean> videoList) {
-        this.videoList = videoList;
-        Bundle args = new Bundle();
-        args.putSerializable("videoList", (Serializable) videoList);
-        setArguments(args);
-        if (isAdded()){
-            initView();
-        }
-    }
 
-    public List<BannerBean> getVideoList() {
-        return videoList;
-    }
 
     @Override
     protected void initLiveDataObserve() {
@@ -192,11 +183,18 @@
         binding.videoPlayer.getCurrentPlayer().onVideoPause();
         super.onPause();
         isPause = true;
+        System.out.println("onPause");
     }
+
 
     @Override
     public void onResume() {
-        binding.videoPlayer.getCurrentPlayer().onVideoResume(false);
+        if (isNeedStart){
+            binding.videoPlayer.getCurrentPlayer().startPlayLogic();
+            isNeedStart = false;
+        }else {
+            binding.videoPlayer.getCurrentPlayer().onVideoResume(false);
+        }
         super.onResume();
         isPause = false;
     }
@@ -223,4 +221,15 @@
 //            binding.videoPlayer.onConfigurationChanged(this, newConfig, orientationUtils, true, true);
 //        }
     }
+
+    public void setOnPlayListener(onPlayListener listener){
+        this.onPlayListener = listener;
+    }
+    public void startPlay(){
+        isNeedStart = true;
+    }
+
+    public interface onPlayListener{
+        void onComplete();
+    }
 }

--
Gitblit v1.9.1