From e6014ef123350d5c0cadabe9c18e26b3d5a3c729 Mon Sep 17 00:00:00 2001
From: guoshen <3129367635@qq.com>
Date: 星期六, 29 六月 2024 15:41:25 +0800
Subject: [PATCH] Revert "Initial commit"
---
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