From caead5ad019c24b9a7958f01fa663ea8159aee6c Mon Sep 17 00:00:00 2001 From: guoshen <3129367635@qq.com> Date: 星期一, 01 七月 2024 16:16:04 +0800 Subject: [PATCH] 修复会议申请的闪退bgg(starttime,endtime字段的划分和修改) --- app/src/main/java/com/application/zhangshi_app_android/ui/function/VideoFragment.java | 89 ++++++++++++++++++++++++++++++-------------- 1 files changed, 60 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..57d27e1 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 @@ -8,9 +8,11 @@ import androidx.annotation.NonNull; +import com.android.app_base.base.BaseConfig; 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 +31,23 @@ */ 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 url) { VideoFragment fragment = new VideoFragment(); + if (url.contains("profile/upload")) {//濡傛灉鏄笂浼犲埌鏈嶅姟鍣ㄧ殑鍥剧墖 + //鍙彇profile/upload浠ュ悗鐨勯儴鍒� + url = url.substring(url.indexOf("profile/upload")); + url = BaseConfig.BASE_URL_DOMAIN + "/" + url; + } Bundle args = new Bundle(); + args.putSerializable("playUrl", url); fragment.setArguments(args); return fragment; } @@ -58,28 +67,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 +93,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 +117,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 +155,6 @@ binding.videoPlayer.startWindowFullscreen(getSelfActivity(), true, true); } }); - }else { - binding.videoPlayer.setVisibility(View.GONE); - binding.layoutDataNull.setVisibility(View.VISIBLE); } } @@ -145,12 +163,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 +189,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 +227,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