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