詹子聪 пре 5 година
родитељ
комит
0dda8322df

+ 11 - 2
app/build.gradle

@@ -67,8 +67,13 @@ android {
     }
 }
 
-
-
+//implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
+//增加'*.aar'就不用在android节点写下面的了:
+/* repositories {
+     flatDir {
+         dirs 'libs'
+     }
+ }*/
 dependencies {
     implementation fileTree(dir: 'libs', include: ['*.jar'])
     implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
@@ -106,6 +111,10 @@ dependencies {
 
     // 文字对齐
     //implementation 'me.codeboy.android:align-text-view:2.3.2'
+
+    //饺子视频播放器
+    //implementation (name: 'jiaozivideoplayer-7.4.2', ext: 'aar')
+    implementation 'cn.jzvd:jiaozivideoplayer:7.4.2'
 }
 repositories {
     mavenCentral()

BIN
app/libs/jiaozivideoplayer-7.4.2.aar


+ 6 - 0
app/src/main/AndroidManifest.xml

@@ -85,6 +85,12 @@
             android:name=".ui.home.tool.yiji.YijiActivity"
             android:screenOrientation="portrait"
             android:theme="@style/TextInputStyle" />
+
+        <activity
+            android:name=".ui.home.goods.play.VideoPlayActivity"
+            android:configChanges="orientation|screenSize|keyboardHidden"
+            android:screenOrientation="landscape"
+            android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" />
     </application>
 
 </manifest>

+ 1 - 1
app/src/main/java/com/itant/shibei/common/ICommonView.java

@@ -11,6 +11,6 @@ import com.miekir.mvp.view.IView;
 public interface ICommonView<T> extends IView {
     default void onCommonResult(boolean success, String message, T resultBean) {
         //要在实现类显示调用ICommonView.super.onCommonResult(success, message, resultBean);才会生效
-        dismissLoading();
+        //dismissLoading();
     }
 }

+ 8 - 1
app/src/main/java/com/itant/shibei/ui/home/goods/GoodsAdapter.java

@@ -2,6 +2,7 @@ package com.itant.shibei.ui.home.goods;
 
 import android.app.Activity;
 import android.content.Context;
+import android.content.Intent;
 import android.graphics.Paint;
 import android.graphics.drawable.Drawable;
 import android.text.TextUtils;
@@ -24,6 +25,7 @@ import com.itant.shibei.base.ItemLongClickListener;
 import com.itant.shibei.constant.ConstantString;
 import com.itant.shibei.manager.UserInfoManager;
 import com.itant.shibei.tool.StringTool;
+import com.itant.shibei.ui.home.goods.play.VideoPlayActivity;
 import com.makeramen.roundedimageview.RoundedImageView;
 import com.miekir.common.utils.ActivityTool;
 import com.miekir.common.utils.ToastTool;
@@ -141,7 +143,12 @@ public class GoodsAdapter extends BaseQuickAdapter<GoodsBean, BaseViewHolder> {
             fl_video_play.setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View v) {
-                    // todo 播放视频
+                    // 全屏播放视频
+                    Intent playIntent = new Intent(mContext, VideoPlayActivity.class);
+                    playIntent.putExtra(VideoPlayActivity.KEY_URL, goodsBean.videoUrl);
+                    playIntent.putExtra(VideoPlayActivity.KEY_TITLE, goodsBean.title);
+                    mContext.startActivity(playIntent);
+                    //JzvdStd.startFullscreen(this, JZVideoPlayerStandard.class, "http://2449.vod.myqcloud.com/2449_22ca37a6ea9011e5acaaf51d105342e3.f20.mp4", "嫂子辛苦了");
                 }
             });
         } else {

+ 62 - 0
app/src/main/java/com/itant/shibei/ui/home/goods/play/VideoPlayActivity.java

@@ -0,0 +1,62 @@
+package com.itant.shibei.ui.home.goods.play;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+import androidx.annotation.Nullable;
+
+import com.itant.shibei.R;
+import com.itant.shibei.widget.VideoPlayer;
+
+import cn.jzvd.Jzvd;
+import cn.jzvd.JzvdStd;
+
+/**
+ * Copyright (C), 2019-2020, Miekir
+ *
+ * @author Miekir
+ * @date 2020/8/25 11:28
+ * Description: 视频播放类,这是一个全屏的界面
+ */
+public class VideoPlayActivity extends Activity {
+    public static final String KEY_URL = "url";
+    public static final String KEY_TITLE = "title";
+
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_video_play);
+
+        String url = getIntent().getStringExtra(KEY_URL);
+        String title = getIntent().getStringExtra(KEY_TITLE);
+
+        Jzvd.WIFI_TIP_DIALOG_SHOWED = true;
+        // 直接播放视频
+        VideoPlayer.setVideoPlayListener(new VideoPlayer.VideoPlayListener() {
+            @Override
+            public void onPlayComplete() {
+                finish();
+            }
+        });
+        JzvdStd.setCurrentJzvd(VideoPlayer.CURRENT_JZVD);
+        JzvdStd.startFullscreenDirectly(this, VideoPlayer.class, url, title);
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+        Jzvd.releaseAllVideos();
+    }
+
+    @Override
+    public void onBackPressed() {
+        Jzvd.backPress();
+        super.onBackPressed();
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        VideoPlayer.setVideoPlayListener(null);
+    }
+}

+ 50 - 0
app/src/main/java/com/itant/shibei/widget/VideoPlayer.java

@@ -0,0 +1,50 @@
+package com.itant.shibei.widget;
+
+import android.content.Context;
+import android.util.AttributeSet;
+
+import cn.jzvd.JzvdStd;
+
+/**
+ * Copyright (C), 2019-2020, Miekir
+ *
+ * @author Miekir
+ * @date 2020/8/25 14:29
+ * Description: 视频播放
+ */
+public class VideoPlayer extends JzvdStd {
+
+    public VideoPlayer(Context context) {
+        super(context);
+    }
+
+    public VideoPlayer(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    @Override
+    public void onStateAutoComplete() {
+        super.onStateAutoComplete();
+        if (mVideoPlayListener != null) {
+            mVideoPlayListener.onPlayComplete();
+        }
+    }
+
+    @Override
+    protected void clickBack() {
+        super.clickBack();
+        if (mVideoPlayListener != null) {
+            mVideoPlayListener.onPlayComplete();
+        }
+    }
+
+    private static VideoPlayListener mVideoPlayListener;
+
+    public static void setVideoPlayListener(VideoPlayListener videoPlayListener) {
+        mVideoPlayListener = videoPlayListener;
+    }
+
+    public interface VideoPlayListener {
+        void onPlayComplete();
+    }
+}

+ 11 - 0
app/src/main/res/layout/activity_video_play.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <cn.jzvd.JzvdStd
+        android:id="@+id/js_video"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"/>
+</FrameLayout>