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 | 83 +++++++++++++++++++++++++++-------------- 1 files changed, 54 insertions(+), 29 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 ee284fe..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 @@ -11,6 +11,7 @@ import com.android.app_base.base.view.BaseFragment; import com.android.app_base.utils.GlideUtil; import com.application.zhangshi_app_android.R; +import com.application.zhangshi_app_android.bean.BannerBean; import com.application.zhangshi_app_android.databinding.FragmentVideoBinding; import com.shuyu.gsyvideoplayer.GSYVideoManager; import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder; @@ -29,16 +30,18 @@ */ public class VideoFragment extends BaseFragment<FragmentVideoBinding, VideoFragmentViewModel> { OrientationUtils orientationUtils; - private List<String> videoList; private boolean isPlay; private boolean isPause; - - private VideoFragment() { + 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; } @@ -58,28 +61,25 @@ @Override protected void initParam() { if (getArguments() != null) { - videoList = (List<String>) getArguments().getSerializable("videoList"); + playUrl = (String) getArguments().getSerializable("playUrl"); } } @Override protected void initView() { - if (videoList != null && videoList.size() > 0){ - binding.videoPlayer.setVisibility(View.VISIBLE); - binding.layoutDataNull.setVisibility(View.GONE); - //澧炲姞灏侀潰 - ImageView imageView = new ImageView(getSelfActivity()); - imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); - GlideUtil.loadVideoCover(videoList.get(0), imageView,-1,1); - //澧炲姞title - binding.videoPlayer.getTitleTextView().setVisibility(View.GONE); - binding.videoPlayer.getBackButton().setVisibility(View.GONE); - + if (playUrl != null){ //澶栭儴杈呭姪鐨勬棆杞紝甯姪鍏ㄥ睆 //orientationUtils = new OrientationUtils(this, binding.videoPlayer); //鍒濆鍖栦笉鎵撳紑澶栭儴鐨勬棆杞� // orientationUtils.setEnable(false); + //澧炲姞灏侀潰 + ImageView imageView = new ImageView(getSelfActivity()); + imageView.setScaleType(ImageView.ScaleType.CENTER); + GlideUtil.loadVideoCover(playUrl, imageView,-1,1); + //澧炲姞title + binding.videoPlayer.getTitleTextView().setVisibility(View.GONE); + binding.videoPlayer.getBackButton().setVisibility(View.GONE); GSYVideoOptionBuilder gsyVideoOption = new GSYVideoOptionBuilder(); gsyVideoOption.setThumbImageView(imageView) .setIsTouchWiget(true) @@ -87,11 +87,11 @@ .setLockLand(false) .setAutoFullWithSize(false) .setShowFullAnimation(false) - .setUrl(videoList.get(0)) + .setUrl(playUrl) .setNeedLockFull(true) - .setCacheWithPlay(false) + .setCacheWithPlay(true) .setVideoTitle("") - .setLooping(true) + .setLooping(false) ///涓嶉渶瑕佹棆杞� .setNeedOrientationUtils(false) .setVideoAllCallBack(new GSYSampleCallBack() { @@ -111,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() { @@ -134,9 +149,6 @@ binding.videoPlayer.startWindowFullscreen(getSelfActivity(), true, true); } }); - }else { - binding.videoPlayer.setVisibility(View.GONE); - binding.layoutDataNull.setVisibility(View.VISIBLE); } } @@ -145,12 +157,7 @@ } - public void setVideoList(List<String> videoList) { - this.videoList = videoList; - Bundle args = new Bundle(); - args.putSerializable("videoList", (Serializable) videoList); - setArguments(args); - } + @Override protected void initLiveDataObserve() { @@ -176,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; } @@ -207,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