1
0
yangchong 7 жил өмнө
parent
commit
bacc1d8423
32 өөрчлөгдсөн 202 нэмэгдсэн , 115 устгасан
  1. 3 3
      YCVideoPlayerLib/build.gradle
  2. 5 0
      YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/AbsVideoPlayerController.java
  3. 2 0
      YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/ChangeClarityDialog.java
  4. 0 22
      YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/InterVideoPlayer.java
  5. 4 24
      YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/VideoPlayer.java
  6. 39 3
      YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/VideoPlayerController.java
  7. 1 1
      YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/listener/OnClarityChangedListener.java
  8. 1 1
      YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/listener/OnMemberClickListener.java
  9. 1 1
      YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/listener/OnVideoBackListener.java
  10. 5 3
      YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/listener/OnVideoControlListener.java
  11. BIN
      YCVideoPlayerLib/src/main/res/drawable-xxhdpi/ic_player_audio.png
  12. BIN
      YCVideoPlayerLib/src/main/res/drawable-xxhdpi/ic_study_audio.png
  13. 10 10
      YCVideoPlayerLib/src/main/res/layout/custom_video_player_top.xml
  14. 5 4
      app/build.gradle
  15. 3 15
      app/src/main/java/org/yczbj/ycvideoplayer/base/mvp1/BaseActivity.java
  16. 2 0
      app/src/main/java/org/yczbj/ycvideoplayer/ui/home/view/activity/VideoPlayerJzActivity.java
  17. 7 5
      app/src/main/java/org/yczbj/ycvideoplayer/ui/home/view/activity/VideoPlayerMeActivity.java
  18. 81 4
      app/src/main/java/org/yczbj/ycvideoplayer/ui/home/view/fragment/HomeFragment.java
  19. 3 0
      app/src/main/java/org/yczbj/ycvideoplayer/ui/main/view/activity/MainActivity.java
  20. 1 2
      app/src/main/java/org/yczbj/ycvideoplayer/ui/movie/view/activity/MovieDetailActivity.java
  21. 3 3
      app/src/main/java/org/yczbj/ycvideoplayer/ui/test/test2/TestMyActivity.java
  22. 3 1
      app/src/main/java/org/yczbj/ycvideoplayer/ui/video/view/activity/VideoContentActivity.java
  23. 1 0
      app/src/main/res/layout/activity_video_player_jz_detail.xml
  24. 1 0
      app/src/main/res/layout/activity_video_player_me_detail.xml
  25. 2 1
      app/src/main/res/layout/base_easy_recycle.xml
  26. 2 1
      app/src/main/res/layout/base_tab_view.xml
  27. 5 5
      app/src/main/res/layout/base_tool_bar.xml
  28. 2 1
      app/src/main/res/layout/base_video_view.xml
  29. 7 0
      app/src/main/res/layout/fragment_home.xml
  30. 1 3
      app/src/main/res/layout/fragment_me.xml
  31. 1 1
      app/src/main/res/values/colors.xml
  32. 1 1
      app/src/main/res/values/styles.xml

+ 3 - 3
YCVideoPlayerLib/build.gradle

@@ -6,7 +6,7 @@ android {
 
 
     defaultConfig {
-        minSdkVersion 16
+        minSdkVersion 17
         targetSdkVersion 25
         versionCode 1
         versionName "1.0"
@@ -51,8 +51,8 @@ group = "cn.yc"
 //发布到JCenter上的项目名字,必须填写
 def libName = "YCVideoPlayerLib"
 // 版本号,下次更新是只需要更改版本号即可
-version = "2.3"
-/**  上面配置后上传至jcenter后的编译路径是这样的: compile 'cn.yc:YCVideoPlayerLib:2.3'  **/
+version = "2.4.3"
+/**  上面配置后上传至jcenter后的编译路径是这样的: compile 'cn.yc:YCVideoPlayerLib:2.4'  **/
 
 //生成源文件
 task sourcesJar(type: Jar) {

+ 5 - 0
YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/AbsVideoPlayerController.java

@@ -65,6 +65,11 @@ public abstract class AbsVideoPlayerController extends FrameLayout implements Vi
         mVideoPlayer = videoPlayer;
     }
 
+    /**
+     * 设置是否显示视频头部的下载,分享布局控件
+     * @param isVisibility          是否可见
+     */
+    public abstract void setTopVisibility(boolean isVisibility);
 
     /**
      * 设置试看视频时间,让使用者自己定制

+ 2 - 0
YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/ChangeClarityDialog.java

@@ -10,6 +10,8 @@ import android.view.WindowManager;
 import android.widget.LinearLayout;
 import android.widget.TextView;
 
+import org.yczbj.ycvideoplayerlib.listener.OnClarityChangedListener;
+
 import java.util.List;
 
 /**

+ 0 - 22
YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/InterVideoPlayer.java

@@ -16,14 +16,6 @@ public interface InterVideoPlayer {
      */
     void setUp(String url, Map<String, String> headers);
 
-    /**
-     * 设置视频集合链接
-     * @param listUrl       视频集合链接
-     * @param position      位置
-     * @param headers       请求header集合
-     */
-    void setUp(List<String> listUrl , int position , List<Map<String, String>> headers);
-
     /**
      * 开始播放
      */
@@ -36,20 +28,6 @@ public interface InterVideoPlayer {
      */
     void start(long position);
 
-    /**
-     * 注意:播放上一首和下一首只是针对设置视频集合链接后才有效
-     *      如果只是设置播放单个视频,该方法是无效的
-     * 播放下一首
-     */
-    void next();
-
-    /**
-     * 注意:播放上一首和下一首只是针对设置视频集合链接后才有效
-     *      如果只是设置播放单个视频,该方法是无效的
-     * 播放上一首
-     */
-    void prev();
-
     /**
      * 重新播放,播放器被暂停、播放错误、播放完成后,需要调用此方法重新播放
      */

+ 4 - 24
YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/VideoPlayer.java

@@ -174,20 +174,6 @@ public class VideoPlayer extends FrameLayout implements InterVideoPlayer{
         mHeaders = headers;
     }
 
-    /**
-     * 设置,必须设置
-     * @param listUrl       视频集合链接
-     * @param position      位置
-     */
-    @Override
-    public void setUp(List<String> listUrl, int position , List<Map<String, String>> headers) {
-        /*添加判断,避免使用者传值不严谨导致崩溃*/
-        if(listUrl!=null && listUrl.size()>0 && headers!=null && headers.size()>0){
-            mUrl = listUrl.get(position);
-            mHeaders = headers.get(position);
-        }
-    }
-
 
     /**
      * 设置视频控制器,必须设置
@@ -206,6 +192,7 @@ public class VideoPlayer extends FrameLayout implements InterVideoPlayer{
     }
 
 
+
     /**
      * 设置播放器类型,必须设置
      * @param playerType IjkPlayer or MediaPlayer.
@@ -271,16 +258,6 @@ public class VideoPlayer extends FrameLayout implements InterVideoPlayer{
         start();
     }
 
-    @Override
-    public void next() {
-
-    }
-
-    @Override
-    public void prev() {
-
-    }
-
 
     /**
      * 重新播放
@@ -559,6 +536,7 @@ public class VideoPlayer extends FrameLayout implements InterVideoPlayer{
     /**
      * 初始化音频管理器
      */
+    @RequiresApi(api = Build.VERSION_CODES.FROYO)
     private void initAudioManager() {
         if (mAudioManager == null) {
             mAudioManager = (AudioManager) getContext().getSystemService(Context.AUDIO_SERVICE);
@@ -610,6 +588,7 @@ public class VideoPlayer extends FrameLayout implements InterVideoPlayer{
                 /**
                  * SurfaceTexture准备就绪
                  */
+                @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN)
                 @Override
                 public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
                     if (mSurfaceTexture == null) {
@@ -662,6 +641,7 @@ public class VideoPlayer extends FrameLayout implements InterVideoPlayer{
     /**
      * 打开MediaPlayer播放器
      */
+    @RequiresApi(api = Build.VERSION_CODES.ICE_CREAM_SANDWICH)
     private void openMediaPlayer() {
         // 屏幕常亮
         mContainer.setKeepScreenOn(true);

+ 39 - 3
YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/VideoPlayerController.java

@@ -5,7 +5,6 @@ import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.content.pm.ActivityInfo;
 import android.graphics.Color;
 import android.os.BatteryManager;
 import android.os.CountDownTimer;
@@ -21,6 +20,11 @@ import android.widget.SeekBar;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import org.yczbj.ycvideoplayerlib.listener.OnClarityChangedListener;
+import org.yczbj.ycvideoplayerlib.listener.OnMemberClickListener;
+import org.yczbj.ycvideoplayerlib.listener.OnVideoBackListener;
+import org.yczbj.ycvideoplayerlib.listener.OnVideoControlListener;
+
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -147,7 +151,11 @@ public class VideoPlayerController extends AbsVideoPlayerController implements V
      * 这个是设置试看时间,当然前提是设置试看权限后才能生效,如果不设置,默认为30秒
      */
     private long mTrySeeTime;
-
+    /**
+     * 顶部的布局,下载,切换音频,分享布局是否显示
+     * 默认为false,不显示
+     */
+    private boolean mIsTopVisibility = false;
 
 
     public VideoPlayerController(Context context) {
@@ -209,6 +217,12 @@ public class VideoPlayerController extends AbsVideoPlayerController implements V
         mIvTrySee = (ImageView) findViewById(R.id.iv_try_see);
         mFlLock = (FrameLayout) findViewById(R.id.fl_lock);
         mIvLock = (ImageView) findViewById(R.id.iv_lock);
+
+        if(mIsTopVisibility){
+            mLlTopOther.setVisibility(VISIBLE);
+        }else {
+            mLlTopOther.setVisibility(GONE);
+        }
     }
 
 
@@ -239,6 +253,7 @@ public class VideoPlayerController extends AbsVideoPlayerController implements V
 
             }
 
+
             @Override
             public void onStopTrackingTouch(SeekBar seekBar) {
                 if (mVideoPlayer.isBufferingPaused() || mVideoPlayer.isPaused()) {
@@ -253,6 +268,22 @@ public class VideoPlayerController extends AbsVideoPlayerController implements V
     }
 
 
+    /**
+     * 18年3月15日添加
+     * 设置是否显示视频头部的下载,分享布局控件
+     * @param isVisibility          是否可见
+     */
+    @Override
+    public void setTopVisibility(boolean isVisibility) {
+        this.mIsTopVisibility = isVisibility;
+        if(isVisibility){
+            mLlTopOther.setVisibility(VISIBLE);
+        }else {
+            mLlTopOther.setVisibility(GONE);
+        }
+    }
+
+
     /**
      * 18年1月12号添加
      * 设置加载loading类型
@@ -387,6 +418,7 @@ public class VideoPlayerController extends AbsVideoPlayerController implements V
         }
     }
 
+
     /**
      * 设置视频清晰度
      * @param clarities                         清晰度
@@ -532,7 +564,11 @@ public class VideoPlayerController extends AbsVideoPlayerController implements V
                 mFullScreen.setImageResource(R.drawable.ic_player_enlarge);
                 mFullScreen.setVisibility(View.VISIBLE);
                 mClarity.setVisibility(View.GONE);
-                mLlTopOther.setVisibility(VISIBLE);
+                if(mIsTopVisibility){
+                    mLlTopOther.setVisibility(VISIBLE);
+                }else {
+                    mLlTopOther.setVisibility(GONE);
+                }
                 mBatteryTime.setVisibility(View.GONE);
                 if (hasRegisterBatteryReceiver) {
                     mContext.unregisterReceiver(mBatterReceiver);

+ 1 - 1
YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/OnClarityChangedListener.java → YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/listener/OnClarityChangedListener.java

@@ -1,4 +1,4 @@
-package org.yczbj.ycvideoplayerlib;
+package org.yczbj.ycvideoplayerlib.listener;
 
 /**
  * 清晰度监听接口

+ 1 - 1
YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/OnMemberClickListener.java → YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/listener/OnMemberClickListener.java

@@ -1,4 +1,4 @@
-package org.yczbj.ycvideoplayerlib;
+package org.yczbj.ycvideoplayerlib.listener;
 
 
 /**

+ 1 - 1
YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/OnVideoBackListener.java → YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/listener/OnVideoBackListener.java

@@ -1,4 +1,4 @@
-package org.yczbj.ycvideoplayerlib;
+package org.yczbj.ycvideoplayerlib.listener;
 
 /**
  * 点击事件抽象接口

+ 5 - 3
YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/OnVideoControlListener.java → YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/listener/OnVideoControlListener.java

@@ -1,4 +1,4 @@
-package org.yczbj.ycvideoplayerlib;
+package org.yczbj.ycvideoplayerlib.listener;
 
 /**
  * 视频顶部点击事件
@@ -8,8 +8,10 @@ public interface OnVideoControlListener {
 
     /**
      * 视频顶部点击事件【下载,切换音频,分享等】
-     *
-     * @param type      切换到的清晰度的索引值
+     * @param type      类型
+     *                  1.DOWNLOAD,下载
+     *                  2.AUDIO,切换音频
+     *                  3.SHARE,分享
      */
     void onVideoControlClick(int type);
     

BIN
YCVideoPlayerLib/src/main/res/drawable-xxhdpi/ic_player_audio.png


BIN
YCVideoPlayerLib/src/main/res/drawable-xxhdpi/ic_study_audio.png


+ 10 - 10
YCVideoPlayerLib/src/main/res/layout/custom_video_player_top.xml

@@ -25,7 +25,7 @@
         android:maxLength="10"
         android:text="真实死亡游戏“蓝鲸”疑似进入国内,家长们要注意了"
         android:textColor="@android:color/white"
-        android:textSize="14sp"/>
+        android:textSize="15sp"/>
 
     <!--竖屏的时候需要展现的布局,定制的-->
     <LinearLayout
@@ -37,20 +37,20 @@
         android:visibility="visible">
         <ImageView
             android:id="@+id/iv_download"
-            android:layout_width="20dp"
-            android:layout_height="20dp"
+            android:layout_width="22dp"
+            android:layout_height="22dp"
             android:src="@drawable/ic_player_download"/>
         <ImageView
             android:id="@+id/iv_audio"
-            android:layout_width="20dp"
-            android:layout_height="20dp"
-            android:layout_marginStart="10dp"
-            android:layout_marginEnd="10dp"
-            android:src="@drawable/ic_player_audio"/>
+            android:layout_width="22dp"
+            android:layout_height="22dp"
+            android:layout_marginStart="15dp"
+            android:layout_marginEnd="15dp"
+            android:src="@drawable/ic_study_audio"/>
         <ImageView
             android:id="@+id/iv_share"
-            android:layout_width="20dp"
-            android:layout_height="20dp"
+            android:layout_width="22dp"
+            android:layout_height="22dp"
             android:src="@drawable/ic_player_share"/>
     </LinearLayout>
 

+ 5 - 4
app/build.gradle

@@ -12,7 +12,8 @@ android {
         versionCode 11
         versionName "1.1.1"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
-
+        // dex突破65535的限制
+        multiDexEnabled true
         ndk {
             //设置支持的SO库架构
             abiFilters 'armeabi', 'armeabi-v7a', 'x86'
@@ -96,7 +97,7 @@ dependencies {
     compile 'cn.yc:YCBaseAdapterLib:1.3'                            //adapter封装
     compile 'cn.yc:YCDialogLib:3.5'                                 //弹窗
     compile 'cn.yc:YCProgressLib:1.2'                               //进度条
-//    compile 'cn.yc:YCVideoPlayerLib:2.3'                            //播放器
-    compile project(':YCVideoPlayerLib')
-
+    compile 'cn.yc:YCVideoPlayerLib:2.4.3'                            //播放器
+//    compile project(':YCVideoPlayerLib')
+    compile 'cn.yc:YCStatusBarLib:1.3'                              //状态栏
 }

+ 3 - 15
app/src/main/java/org/yczbj/ycvideoplayer/base/mvp1/BaseActivity.java

@@ -2,6 +2,7 @@ package org.yczbj.ycvideoplayer.base.mvp1;
 
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
+import android.graphics.Color;
 import android.os.Build;
 import android.os.Bundle;
 import android.support.annotation.Nullable;
@@ -14,6 +15,7 @@ import com.blankj.utilcode.util.ToastUtils;
 import org.yczbj.ycvideoplayer.base.AppManager;
 
 import butterknife.ButterKnife;
+import cn.ycbjie.ycstatusbarlib.bar.YCAppBar;
 
 /**
  * ================================================
@@ -44,6 +46,7 @@ public abstract class BaseActivity extends AppCompatActivity {
         }
     }
 
+
     @Override
     protected void onDestroy() {
         super.onDestroy();
@@ -51,7 +54,6 @@ public abstract class BaseActivity extends AppCompatActivity {
         initLeakCanary();
         //将当前Activity移除到容器
         AppManager.getAppManager().removeActivity(this);
-        //AppManager.getAppManager().finishActivity(this);
     }
 
 
@@ -84,20 +86,6 @@ public abstract class BaseActivity extends AppCompatActivity {
     public abstract void initData();
 
 
-    /**
-     * 沉浸式状态栏
-     */
-    protected void initState() {
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
-            //透明状态栏
-            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
-            //透明导航栏
-            //getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
-            // 隐藏状态栏
-            //getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); // 隐藏状态栏
-        }
-    }
-
     /**
      * 通过Class跳转界面
      **/

+ 2 - 0
app/src/main/java/org/yczbj/ycvideoplayer/ui/home/view/activity/VideoPlayerJzActivity.java

@@ -53,6 +53,7 @@ import cn.jzvd.JZUserAction;
 import cn.jzvd.JZUserActionStandard;
 import cn.jzvd.JZVideoPlayer;
 import cn.jzvd.JZVideoPlayerStandard;
+import cn.ycbjie.ycstatusbarlib.bar.YCAppBar;
 
 /**
  * ================================================
@@ -101,6 +102,7 @@ public class VideoPlayerJzActivity extends BaseActivity implements VideoPlayerJz
 
     @Override
     public void initView() {
+        YCAppBar.setStatusBarLightMode(this, Color.WHITE);
         initVideoPlayer();
         initYCRefreshView();
     }

+ 7 - 5
app/src/main/java/org/yczbj/ycvideoplayer/ui/home/view/activity/VideoPlayerMeActivity.java

@@ -6,6 +6,7 @@ import android.os.Bundle;
 import android.os.Handler;
 import android.support.annotation.Nullable;
 import android.support.design.widget.FloatingActionButton;
+import android.support.v4.content.ContextCompat;
 import android.support.v4.widget.SwipeRefreshLayout;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
@@ -39,13 +40,11 @@ import org.yczbj.ycvideoplayer.ui.home.presenter.VideoPlayerMePresenter;
 import org.yczbj.ycvideoplayer.ui.home.view.adapter.DialogListAdapter;
 import org.yczbj.ycvideoplayer.ui.home.view.adapter.NarrowImageAdapter;
 import org.yczbj.ycvideoplayer.ui.home.view.adapter.VideoPlayerMeAdapter;
-import org.yczbj.ycvideoplayer.ui.person.MeLoginActivity;
-import org.yczbj.ycvideoplayer.ui.test.test1.view.second.TestSecondActivity;
 import org.yczbj.ycvideoplayer.util.AppUtil;
 import org.yczbj.ycvideoplayerlib.ConstantKeys;
-import org.yczbj.ycvideoplayerlib.OnMemberClickListener;
-import org.yczbj.ycvideoplayerlib.OnVideoBackListener;
-import org.yczbj.ycvideoplayerlib.OnVideoControlListener;
+import org.yczbj.ycvideoplayerlib.listener.OnMemberClickListener;
+import org.yczbj.ycvideoplayerlib.listener.OnVideoBackListener;
+import org.yczbj.ycvideoplayerlib.listener.OnVideoControlListener;
 import org.yczbj.ycvideoplayerlib.VideoPlayer;
 import org.yczbj.ycvideoplayerlib.VideoPlayerController;
 
@@ -53,6 +52,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import butterknife.Bind;
+import cn.ycbjie.ycstatusbarlib.bar.YCAppBar;
 
 /**
  * ================================================
@@ -99,6 +99,7 @@ public class VideoPlayerMeActivity extends BaseActivity implements VideoPlayerMe
 
     @Override
     public void initView() {
+        YCAppBar.translucentStatusBar(this, true);
         initVideoPlayer();
         initYCRefreshView();
     }
@@ -139,6 +140,7 @@ public class VideoPlayerMeActivity extends BaseActivity implements VideoPlayerMe
         VideoPlayerController controller = new VideoPlayerController(this);
         controller.setTitle("高仿优酷视频播放页面");
         controller.setLoadingType(2);
+        controller.setTopVisibility(true);
         controller.setMemberType(false,false,2,true);
         controller.imageView().setBackgroundResource(R.color.blackText);
         controller.setOnVideoBackListener(new OnVideoBackListener() {

+ 81 - 4
app/src/main/java/org/yczbj/ycvideoplayer/ui/home/view/fragment/HomeFragment.java

@@ -5,6 +5,7 @@ import android.graphics.Color;
 import android.support.v4.widget.SwipeRefreshLayout;
 import android.support.v7.widget.RecyclerView;
 import android.view.View;
+import android.view.ViewGroup;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.TextView;
@@ -13,6 +14,7 @@ import com.alibaba.android.vlayout.DelegateAdapter;
 import com.alibaba.android.vlayout.VirtualLayoutManager;
 import com.alibaba.android.vlayout.layout.GridLayoutHelper;
 import com.alibaba.android.vlayout.layout.LinearLayoutHelper;
+import com.blankj.utilcode.util.ScreenUtils;
 import com.pedaily.yc.ycdialoglib.customToast.ToastUtil;
 import com.yc.cn.ycbannerlib.first.BannerView;
 import com.yc.cn.ycbannerlib.first.util.SizeUtil;
@@ -20,6 +22,7 @@ import com.yc.cn.ycbaseadapterlib.BaseViewHolder;
 
 import org.yczbj.ycvideoplayer.R;
 import org.yczbj.ycvideoplayer.api.constant.Constant;
+import org.yczbj.ycvideoplayer.api.constant.ConstantVideo;
 import org.yczbj.ycvideoplayer.base.BaseConfig;
 import org.yczbj.ycvideoplayer.base.BaseDelegateAdapter;
 import org.yczbj.ycvideoplayer.base.mvp1.BaseFragment;
@@ -31,6 +34,13 @@ import org.yczbj.ycvideoplayer.ui.home.view.activity.VideoPlayerMeActivity;
 import org.yczbj.ycvideoplayer.ui.home.view.adapter.BannerPagerAdapter;
 import org.yczbj.ycvideoplayer.ui.main.view.activity.MainActivity;
 import org.yczbj.ycvideoplayer.util.LogUtils;
+import org.yczbj.ycvideoplayer.util.binding.BindView;
+import org.yczbj.ycvideoplayerlib.ConstantKeys;
+import org.yczbj.ycvideoplayerlib.VideoPlayer;
+import org.yczbj.ycvideoplayerlib.VideoPlayerController;
+import org.yczbj.ycvideoplayerlib.VideoPlayerManager;
+import org.yczbj.ycvideoplayerlib.listener.OnVideoBackListener;
+import org.yczbj.ycvideoplayerlib.listener.OnVideoControlListener;
 
 import java.util.ArrayList;
 import java.util.LinkedList;
@@ -59,6 +69,9 @@ public class HomeFragment extends BaseFragment implements View.OnClickListener {
     LinearLayout llSearch;
     @Bind(R.id.ll_bind)
     LinearLayout llBind;
+    @Bind(R.id.video_player)
+    VideoPlayer videoPlayer;
+
     private MainActivity activity;
     private BannerView mBanner;
     private VirtualLayoutManager layoutManager;
@@ -68,6 +81,7 @@ public class HomeFragment extends BaseFragment implements View.OnClickListener {
      */
     private List<DelegateAdapter.Adapter> mAdapters;
     private DelegateAdapter delegateAdapter;
+    private VideoPlayerController controller;
 
     @Override
     public void onAttach(Context context) {
@@ -90,6 +104,7 @@ public class HomeFragment extends BaseFragment implements View.OnClickListener {
         }
     }
 
+
     @Override
     public void onResume() {
         super.onResume();
@@ -112,6 +127,12 @@ public class HomeFragment extends BaseFragment implements View.OnClickListener {
     }
 
 
+    @Override
+    public void onStop() {
+        super.onStop();
+        VideoPlayerManager.instance().releaseVideoPlayer();
+    }
+
     @Override
     public int getContentView() {
         return R.layout.fragment_home;
@@ -120,11 +141,23 @@ public class HomeFragment extends BaseFragment implements View.OnClickListener {
 
     @Override
     public void initView() {
+        initVideoPlayerSize();
         initOldUserBinding();
         initVLayout();
+        initVideoPlayer();
         initRefreshView();
     }
 
+    /**
+     * 设置视频宽高比是16:9
+     */
+    private void initVideoPlayerSize() {
+        int screenWidth = ScreenUtils.getScreenWidth();
+        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
+                ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+        params.height = (int) (9*screenWidth / 16.0f);
+        videoPlayer.setLayoutParams(params);
+    }
 
     private void initOldUserBinding() {
         boolean login = BaseConfig.INSTANCE.getIsLogin();
@@ -159,6 +192,50 @@ public class HomeFragment extends BaseFragment implements View.OnClickListener {
         delegateAdapter.setAdapters(mAdapters);
     }
 
+
+    private void initVideoPlayer() {
+        //设置播放类型
+        videoPlayer.setPlayerType(VideoPlayer.TYPE_IJK);
+        //是否从上一次的位置继续播放
+        videoPlayer.continueFromLastPosition(true);
+        //设置播放速度
+        videoPlayer.setSpeed(1.0f);
+        //网络视频地址
+        videoPlayer.setUp(ConstantVideo.VideoPlayerList[0],null);
+        //设置视频地址和请求头部
+        //创建视频控制器
+        controller = new VideoPlayerController(activity);
+        controller.setTopVisibility(true);
+        controller.setOnVideoBackListener(new OnVideoBackListener() {
+            @Override
+            public void onBackClick() {
+                getActivity().onBackPressed();
+            }
+        });
+        controller.setOnVideoControlListener(new OnVideoControlListener() {
+            @Override
+            public void onVideoControlClick(int type) {
+                switch (type){
+                    case ConstantKeys.VideoControl.DOWNLOAD:
+                        ToastUtil.showToast(activity,"下载音视频");
+                        break;
+                    case ConstantKeys.VideoControl.AUDIO:
+
+                        break;
+                    case ConstantKeys.VideoControl.SHARE:
+                        ToastUtil.showToast(activity,"分享内容");
+                        break;
+                    default:
+                        break;
+                }
+            }
+        });
+        //设置视频控制器
+        videoPlayer.setController(controller);
+    }
+
+
+
     private boolean isTopShow = true;
     private void initRefreshView() {
         refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@@ -295,8 +372,8 @@ public class HomeFragment extends BaseFragment implements View.OnClickListener {
 
     private void initFiveButtonView() {
         BaseDelegateAdapter adapter = new BaseDelegateAdapter(activity, new LinearLayoutHelper(), R.layout.view_vlayout_button, 1, Constant.viewType.typeView) {
-            @Override
-            public void onBindViewHolder(BaseViewHolder holder, int position) {
+                @Override
+                public void onBindViewHolder(BaseViewHolder holder, int position) {
                 super.onBindViewHolder(holder, position);
                 View.OnClickListener listener = new View.OnClickListener() {
                     @Override
@@ -347,7 +424,6 @@ public class HomeFragment extends BaseFragment implements View.OnClickListener {
             public void onBindViewHolder(BaseViewHolder holder, int position) {
                 super.onBindViewHolder(holder, position);
                 final ImageView ivImage = holder.getView(R.id.iv_image);
-
                 ivImage.setBackgroundResource(R.drawable.bg_small_tree_min);
                 //String image = ConstantImage.homePageConcentration[position];
                 //ImageUtil.loadImgByPicasso(activity,ConstantImage.homePageConcentration[position],R.drawable.image_default,ivImage);
@@ -409,7 +485,8 @@ public class HomeFragment extends BaseFragment implements View.OnClickListener {
         // 控制子元素之间的水平间距
         gridLayoutHelper.setHGap(0);
         gridLayoutHelper.setBgColor(Color.WHITE);
-        BaseDelegateAdapter adapter = new BaseDelegateAdapter(activity, gridLayoutHelper, R.layout.view_vlayout_grid, 2, Constant.viewType.typeGv3) {
+        BaseDelegateAdapter adapter = new BaseDelegateAdapter(activity,
+                gridLayoutHelper, R.layout.view_vlayout_grid, 2, Constant.viewType.typeGv3) {
             @Override
             public void onBindViewHolder(BaseViewHolder holder, int position) {
                 super.onBindViewHolder(holder, position);

+ 3 - 0
app/src/main/java/org/yczbj/ycvideoplayer/ui/main/view/activity/MainActivity.java

@@ -1,6 +1,7 @@
 package org.yczbj.ycvideoplayer.ui.main.view.activity;
 
 import android.app.Activity;
+import android.graphics.Color;
 import android.os.Bundle;
 import android.support.annotation.Nullable;
 import android.support.v4.app.Fragment;
@@ -32,6 +33,7 @@ import org.yczbj.ycvideoplayer.ui.person.MeFragment;
 import java.util.ArrayList;
 
 import butterknife.Bind;
+import cn.ycbjie.ycstatusbarlib.bar.YCAppBar;
 
 /**
  * ================================================
@@ -105,6 +107,7 @@ public class MainActivity extends BaseActivity implements MainContract.View {
 
     @Override
     public void initView() {
+        YCAppBar.setStatusBarLightMode(this, Color.WHITE);
         initTabLayout();
         initFragment();
     }

+ 1 - 2
app/src/main/java/org/yczbj/ycvideoplayer/ui/movie/view/activity/MovieDetailActivity.java

@@ -7,7 +7,6 @@ import android.os.Bundle;
 import android.os.Handler;
 import android.support.annotation.Nullable;
 import android.support.design.widget.FloatingActionButton;
-import android.support.v7.widget.GridLayoutManager;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 import android.view.LayoutInflater;
@@ -34,7 +33,7 @@ import org.yczbj.ycvideoplayer.ui.movie.model.MovieDetailBean;
 import org.yczbj.ycvideoplayer.ui.movie.presenter.MovieDetailPresenter;
 import org.yczbj.ycvideoplayer.ui.movie.view.adapter.MovieDetailAdapter;
 import org.yczbj.ycvideoplayer.util.ImageUtil;
-import org.yczbj.ycvideoplayerlib.OnVideoBackListener;
+import org.yczbj.ycvideoplayerlib.listener.OnVideoBackListener;
 import org.yczbj.ycvideoplayerlib.VideoPlayer;
 import org.yczbj.ycvideoplayerlib.VideoPlayerController;
 import org.yczbj.ycvideoplayerlib.VideoPlayerManager;

+ 3 - 3
app/src/main/java/org/yczbj/ycvideoplayer/ui/test/test2/TestMyActivity.java

@@ -19,9 +19,9 @@ import org.yczbj.ycvideoplayer.ui.test.test2.view.TestMyThirdActivity;
 import org.yczbj.ycvideoplayer.util.ImageUtil;
 import org.yczbj.ycvideoplayer.util.LogUtils;
 import org.yczbj.ycvideoplayerlib.ConstantKeys;
-import org.yczbj.ycvideoplayerlib.OnMemberClickListener;
-import org.yczbj.ycvideoplayerlib.OnVideoBackListener;
-import org.yczbj.ycvideoplayerlib.OnVideoControlListener;
+import org.yczbj.ycvideoplayerlib.listener.OnMemberClickListener;
+import org.yczbj.ycvideoplayerlib.listener.OnVideoBackListener;
+import org.yczbj.ycvideoplayerlib.listener.OnVideoControlListener;
 import org.yczbj.ycvideoplayerlib.VideoLogUtil;
 import org.yczbj.ycvideoplayerlib.VideoPlayer;
 import org.yczbj.ycvideoplayerlib.VideoPlayerController;

+ 3 - 1
app/src/main/java/org/yczbj/ycvideoplayer/ui/video/view/activity/VideoContentActivity.java

@@ -25,7 +25,7 @@ import org.yczbj.ycvideoplayer.base.mvp2.BaseMVPActivity;
 import org.yczbj.ycvideoplayer.ui.video.model.bean.MultiNewsArticleDataBean;
 import org.yczbj.ycvideoplayer.ui.video.model.bean.VideoContentBean;
 import org.yczbj.ycvideoplayer.ui.video.view.adapter.VideoArticleAdapter;
-import org.yczbj.ycvideoplayerlib.OnVideoBackListener;
+import org.yczbj.ycvideoplayerlib.listener.OnVideoBackListener;
 import org.yczbj.ycvideoplayerlib.VideoPlayer;
 import org.yczbj.ycvideoplayerlib.VideoPlayerController;
 
@@ -34,6 +34,7 @@ import java.util.zip.CRC32;
 
 import butterknife.Bind;
 import butterknife.ButterKnife;
+import cn.ycbjie.ycstatusbarlib.bar.YCAppBar;
 import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.annotations.NonNull;
 import io.reactivex.functions.Consumer;
@@ -72,6 +73,7 @@ public class VideoContentActivity extends BaseMVPActivity {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.base_easy_recycle);
         ButterKnife.bind(this);
+        YCAppBar.setStatusBarLightMode(this, Color.WHITE);
         initView();
         initData();
         onLoadData();

+ 1 - 0
app/src/main/res/layout/activity_video_player_jz_detail.xml

@@ -4,6 +4,7 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:background="@color/whiteBg"
     xmlns:app="http://schemas.android.com/apk/res-auto">
 
     <LinearLayout

+ 1 - 0
app/src/main/res/layout/activity_video_player_me_detail.xml

@@ -4,6 +4,7 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:background="@color/whiteBg"
     xmlns:app="http://schemas.android.com/apk/res-auto">
 
     <LinearLayout

+ 2 - 1
app/src/main/res/layout/base_easy_recycle.xml

@@ -3,7 +3,8 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="match_parent"
+    android:background="@color/whiteBg">
 
     <org.yczbj.ycrefreshviewlib.YCRefreshView
         xmlns:app="http://schemas.android.com/apk/res-auto"

+ 2 - 1
app/src/main/res/layout/base_tab_view.xml

@@ -5,6 +5,7 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:background="@color/whiteBg"
     android:orientation="vertical">
 
     <android.support.design.widget.TabLayout
@@ -13,7 +14,7 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:minHeight="?attr/actionBarSize"
-        app:tabTextColor="@color/grayLine">
+        app:tabTextColor="@color/redTab">
     </android.support.design.widget.TabLayout>
 
     <android.support.v4.view.ViewPager

+ 5 - 5
app/src/main/res/layout/base_tool_bar.xml

@@ -5,8 +5,8 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:id="@+id/toolbar"
     android:layout_width="match_parent"
-    android:layout_height="50dp"
-    android:background="@color/colorTheme"
+    android:layout_height="wrap_content"
+    android:background="@color/colorWhite"
     android:theme="@style/AppTheme.ActionBar"
     app:contentInsetStart="0.0dp"
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
@@ -19,7 +19,7 @@
         android:layout_gravity="left"
         android:padding="10dp"
         android:text="编辑"
-        android:textColor="@color/colorWhite"
+        android:textColor="@color/blackText"
         android:textSize="15sp"
         android:visibility="gone" />
 
@@ -49,7 +49,7 @@
         android:ellipsize="end"
         android:singleLine="true"
         android:text="标题"
-        android:textColor="@color/colorWhite"
+        android:textColor="@color/blackText"
         android:textSize="18sp" />
 
 
@@ -80,7 +80,7 @@
         android:padding="10dp"
         android:singleLine="true"
         android:text="编辑"
-        android:textColor="@color/colorWhite"
+        android:textColor="@color/blackText"
         android:textSize="16sp"
         android:visibility="gone"
         tools:targetApi="honeycomb" />

+ 2 - 1
app/src/main/res/layout/base_video_view.xml

@@ -4,7 +4,8 @@
     android:orientation="vertical"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="match_parent"
+    android:background="@color/whiteBg">
 
     <LinearLayout
         android:layout_width="match_parent"

+ 7 - 0
app/src/main/res/layout/fragment_home.xml

@@ -44,6 +44,12 @@
     </android.support.v7.widget.Toolbar>
 
 
+    <!--视频播放器-->
+    <org.yczbj.ycvideoplayerlib.VideoPlayer
+        android:id="@+id/video_player"
+        android:layout_width="match_parent"
+        android:layout_height="200dp" />
+
 
     <FrameLayout
         android:layout_width="match_parent"
@@ -53,6 +59,7 @@
 
         <LinearLayout
             android:id="@+id/ll_bind"
+            android:visibility="gone"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:gravity="center"

+ 1 - 3
app/src/main/res/layout/fragment_me.xml

@@ -5,8 +5,6 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
-
-
     <android.support.v7.widget.Toolbar
         xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:app="http://schemas.android.com/apk/res-auto"
@@ -24,7 +22,7 @@
             android:gravity="center"
             android:text="个人中心"
             android:textSize="18sp"
-            android:textColor="@color/colorWhite"/>
+            android:textColor="@color/blackText"/>
     </android.support.v7.widget.Toolbar>
 
 

+ 1 - 1
app/src/main/res/values/colors.xml

@@ -6,7 +6,7 @@
     <!--<color name="colorAccent">#ffffff</color>-->
 
     <!--主题颜色-->
-    <color name="colorTheme">#252525</color>
+    <color name="colorTheme">#ffffff</color>
     <!--背景 纯白色-->
     <color name="colorWhite">#ffffff</color>
     <!--背景 纯白色-->

+ 1 - 1
app/src/main/res/values/styles.xml

@@ -4,7 +4,7 @@
     <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
         <!-- Customize your theme here. -->
         <item name="colorPrimary">@color/colorPrimary</item>
-        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
+        <item name="colorPrimaryDark">@color/whiteBg</item>
         <item name="colorAccent">@color/colorAccent</item>
     </style>