Pārlūkot izejas kodu

优化部分代码

yangchong211 6 gadi atpakaļ
vecāks
revīzija
c96e82c347
46 mainītis faili ar 815 papildinājumiem un 368 dzēšanām
  1. 36 0
      .idea/inspectionProfiles/Project_Default.xml
  2. 1 1
      .idea/misc.xml
  3. 42 19
      README.md
  4. 3 3
      YCVideoPlayerLib/build.gradle
  5. 6 0
      YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/controller/AbsVideoPlayerController.java
  6. 20 3
      YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/controller/VideoPlayerController.java
  7. 5 2
      YCVideoPlayerLib/src/main/res/layout/custom_video_player_completed.xml
  8. 3 3
      YCVideoPlayerLib/src/main/res/layout/custom_video_player_top.xml
  9. 3 3
      app/build.gradle
  10. 17 11
      app/src/main/AndroidManifest.xml
  11. 1 0
      app/src/main/java/org/yczbj/ycvideoplayer/api/constant/ConstantVideo.java
  12. 7 5
      app/src/main/java/org/yczbj/ycvideoplayer/base/mvp1/BaseFragment.java
  13. 2 2
      app/src/main/java/org/yczbj/ycvideoplayer/ui/home/view/activity/VideoPlayerJzActivity.java
  14. 3 3
      app/src/main/java/org/yczbj/ycvideoplayer/ui/home/view/fragment/HomeFragment.java
  15. 2 2
      app/src/main/java/org/yczbj/ycvideoplayer/ui/main/view/activity/MainActivity.java
  16. 89 26
      app/src/main/java/org/yczbj/ycvideoplayer/ui/person/MeFragment.java
  17. 0 56
      app/src/main/java/org/yczbj/ycvideoplayer/ui/person/MeLoginActivity.java
  18. 0 56
      app/src/main/java/org/yczbj/ycvideoplayer/ui/person/MeMemberActivity.java
  19. 5 2
      app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestEightVideoActivity.java
  20. 87 0
      app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestFirstVideoActivity.java
  21. 7 4
      app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestFiveVideoActivity.java
  22. 9 6
      app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestFourWindowActivity.java
  23. 6 3
      app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestNineVideoActivity.java
  24. 2 2
      app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestNineVideoFragment.java
  25. 117 0
      app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestSecondFullActivity.java
  26. 5 2
      app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestSevenVideoActivity.java
  27. 6 3
      app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestSixVideoActivity.java
  28. 3 2
      app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestSixVideoFragment.java
  29. 10 6
      app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestThirdVideoActivity.java
  30. 5 5
      app/src/main/java/org/yczbj/ycvideoplayer/ui/person/VideoAdapter.java
  31. 3 3
      app/src/main/java/org/yczbj/ycvideoplayer/ui/person/VideoPlayerMeActivity.java
  32. 14 24
      app/src/main/java/org/yczbj/ycvideoplayer/ui/test/test2/TestMyActivity.java
  33. 2 2
      app/src/main/java/org/yczbj/ycvideoplayer/ui/video/view/activity/VideoContentActivity.java
  34. 0 41
      app/src/main/res/layout/activity_me_login.xml
  35. 0 41
      app/src/main/res/layout/activity_me_member.xml
  36. 13 0
      app/src/main/res/layout/activity_test_video_first.xml
  37. 27 0
      app/src/main/res/layout/activity_test_video_second.xml
  38. 0 0
      app/src/main/res/layout/activity_test_video_third.xml
  39. 0 0
      app/src/main/res/layout/activity_test_window_four.xml
  40. 145 26
      app/src/main/res/layout/fragment_me.xml
  41. 1 1
      app/src/main/res/values/array.xml
  42. 6 0
      read/wiki1.md
  43. 23 0
      read/wiki3.md
  44. 27 0
      read/wiki4.md
  45. 26 0
      read/wiki5.md
  46. 26 0
      read/wiki6.md

+ 36 - 0
.idea/inspectionProfiles/Project_Default.xml

@@ -0,0 +1,36 @@
+<component name="InspectionProjectProfileManager">
+  <profile version="1.0">
+    <option name="myName" value="Project Default" />
+    <inspection_tool class="JavaDoc" enabled="true" level="WARNING" enabled_by_default="true">
+      <option name="TOP_LEVEL_CLASS_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="" />
+        </value>
+      </option>
+      <option name="INNER_CLASS_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="" />
+        </value>
+      </option>
+      <option name="METHOD_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="@return@param@throws or @exception" />
+        </value>
+      </option>
+      <option name="FIELD_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="" />
+        </value>
+      </option>
+      <option name="IGNORE_DEPRECATED" value="false" />
+      <option name="IGNORE_JAVADOC_PERIOD" value="true" />
+      <option name="IGNORE_DUPLICATED_THROWS" value="false" />
+      <option name="IGNORE_POINT_TO_ITSELF" value="false" />
+      <option name="myAdditionalJavadocTags" value="date" />
+    </inspection_tool>
+  </profile>
+</component>

+ 1 - 1
.idea/misc.xml

@@ -29,7 +29,7 @@
       </value>
     </option>
   </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/build/classes" />
   </component>
   <component name="ProjectType">

+ 42 - 19
README.md

@@ -1,13 +1,28 @@
 #### 目录介绍
 - 1.视频具有的功能
+    - 1.1 基础功能
+    - 1.2 高级功能
+    - 1.3 拓展功能
 - 2.使用方法介绍
     - 2.1 关于gradle引用说明
     - 2.2 添加布局
     - 2.3 最简单的视频播放器参数设定
     - 2.4 优化代码
     - 2.5 注意问题
-- 3.其他推荐说明
+- 3.集成lib说明
+    - 3.1 gradle配置添加
+    - 3.2 直接导入lib库
+    - 3.3 如何选择视频库
 - 4.文档wiki说明
+    - 4.1 基础方法说明
+    - 4.2 视频优化处理
+    - 4.3 视频全局悬浮窗播放
+    - 4.4 视频封装思路
+    - 4.5 视频问题处理
+    - 4.6 音视频博客学习
+    - 4.7 边播边缓存
+    - 4.8 音视频解码过程
+    - 4.9 其他零碎知识
 - 5.运行的效果展示
 - 6.版本更新说明
     - 6.0.0 v0.0.0 写于2017年7月1日
@@ -28,11 +43,11 @@
 
 
 
-
-
 ### 1.视频具有的功能
 - [老版本详细ReadMe,原文档](https://github.com/yangchong211/YCVideoPlayer/blob/master/read/README.md)
-##### A基础功能
+
+#### 1.1 基础功能
+- A基础功能
 - A.1.1 能够自定义视频加载loading类型,设置视频标题,设置视频底部图片,设置播放时长等基础功能
 - A.1.2 可以切换播放器的视频播放状态,播放错误,播放未开始,播放开始,播放准备中,正在播放,暂停播放,正在缓冲等等状态
 - A.1.3 可以自由设置播放器的播放模式,比如,正常播放,全屏播放,和小屏幕播放。其中全屏播放支持旋转屏幕。
@@ -40,7 +55,10 @@
 - A.1.5 可以设置是否隐藏播放音量,播放进度,播放亮度等,可以通过拖动seekBar改变视频进度。还支持设置n秒后不操作则隐藏头部和顶部布局功能
 - A.1.6 可以设置竖屏模式下全屏模式和横屏模式下的全屏模式,方便多种使用场景
 - A.1.7 top和bottom面版消失和显示:点击视频画面会显示、隐藏操作面板;显示后不操作会5秒后自动消失【也可以设置】
-##### B高级功能
+
+
+
+#### 1.2 高级功能
 - B.1.1 支持一遍播放一遍缓冲的功能,其中缓冲包括两部分,第一种是播放过程中缓冲,第二种是暂停过程中缓冲
 - B.1.2 基于ijkPlayer的封装播放器,支持多种格式视频播放
 - B.1.3 可以设置是否记录播放位置,设置播放速度,设置屏幕比例
@@ -50,7 +68,10 @@
 - B.1.7 支持切换视频清晰度模式,同时切换清晰度后,支持视频保持观看进度
 - B.1.8 添加锁屏功能,竖屏不提供锁屏按钮,横屏全屏时显示,并且锁屏时,屏蔽手势处理
 - B.1.9 当在播放视频页面,由前台切换到后台时,如果视频正在播放或者正在缓冲时,则暂停视频;当从后台切换到前台时,如果视频暂停时或者缓冲暂停,则重新开启视频播放;当退出页面时则销毁视频资源。
-##### C拓展功能【这块根据实际情况选择是否需要使用,一般视频付费App会有这个工鞥】
+
+
+
+#### 1.3 拓展功能
 - **C1产品需求:类似优酷,爱奇艺视频播放器部分逻辑。比如如果用户没有登录也没有看视频权限,则提示试看视频[自定义布局];如果用户没有登录但是有看视频权限,则正常观看;如果用户登录,但是没有充值会员,部分需要权限视频则进入试看模式,试看结束后弹出充值会员界面;如果用户余额不足,比如余额只有99元,但是视频观看要199元,则又有其他提示。**
 - C2自身需求:比如封装好了视频播放库,那么点击视频上登录按钮则跳到登录页面;点击充值会员页面也跳到充值页面。这个通过定义接口,可以让使用者通过方法调用,灵活处理点击事件。
 - C.1.1 可以设置试看模式,设置试看时长。试看结束后就提示登录或者充值……
@@ -64,7 +85,7 @@
 ### 2.使用方法介绍
 #### 2.1 关于gradle引用说明
 ```
-compile 'cn.yc:YCVideoPlayerLib:2.6.0' 
+compile 'cn.yc:YCVideoPlayerLib:2.6.1'
 ```
 
 #### 2.2 添加布局
@@ -169,17 +190,7 @@ videoPlayer.setController(controller);
 ```
 
 
-### 3.其他推荐说明
-- 1.[技术博客汇总](https://www.jianshu.com/p/614cb839182c)
-- 2.[开源项目汇总](https://blog.csdn.net/m0_37700275/article/details/80863574)
-- 3.[生活博客汇总](https://blog.csdn.net/m0_37700275/article/details/79832978)
-- 4.[喜马拉雅音频汇总](https://www.jianshu.com/p/f665de16d1eb)
-- 5.[其他汇总](https://www.jianshu.com/p/53017c3fc75d)
-- 6.[重点推荐:博客笔记大汇总,开源文件都是md格式](https://github.com/yangchong211/YCBlogs)
-
-
-
-### 4.文档wiki说明[待更新]
+### 4.文档wiki说明[待更新,待完善]
 - [Home]()
 - [基础方法说明]()
 - [视频优化处理]()
@@ -187,6 +198,7 @@ videoPlayer.setController(controller);
 - [视频封装思路]()
 - [视频问题处理]()
 - [音视频博客学习]()
+- [边播边缓存]()
 - [详细ReadMe,原文档](https://github.com/yangchong211/YCVideoPlayer/blob/master/read/README.md)
 
 
@@ -268,7 +280,18 @@ videoPlayer.setController(controller);
 ### 8.其他说明
 - ![image](https://upload-images.jianshu.io/upload_images/4432347-7100c8e5a455c3ee.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
 
-#### 8.1 关于LICENSE
+
+#### 8.1 其他推荐说明
+- 1.[技术博客汇总](https://www.jianshu.com/p/614cb839182c)
+- 2.[开源项目汇总](https://blog.csdn.net/m0_37700275/article/details/80863574)
+- 3.[生活博客汇总](https://blog.csdn.net/m0_37700275/article/details/79832978)
+- 4.[喜马拉雅音频汇总](https://www.jianshu.com/p/f665de16d1eb)
+- 5.[其他汇总](https://www.jianshu.com/p/53017c3fc75d)
+- 6.[重点推荐:博客笔记大汇总,开源文件都是md格式](https://github.com/yangchong211/YCBlogs)
+
+
+
+#### 8.2 关于LICENSE
 ```
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.

+ 3 - 3
YCVideoPlayerLib/build.gradle

@@ -8,8 +8,8 @@ android {
     defaultConfig {
         minSdkVersion 14
         targetSdkVersion 27
-        versionCode 1
-        versionName "1.0"
+        versionCode 15
+        versionName "2.6.1"
     }
 
     buildTypes {
@@ -48,7 +48,7 @@ group = "cn.yc"
 //发布到JCenter上的项目名字,必须填写
 def libName = "YCVideoPlayerLib"
 // 版本号,下次更新是只需要更改版本号即可
-version = "2.6.0"
+version = "2.6.1"
 /**  上面配置后上传至jcenter后的编译路径是这样的: compile 'cn.yc:YCVideoPlayerLib:2.4'  **/
 
 //生成源文件

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

@@ -81,6 +81,12 @@ public abstract class AbsVideoPlayerController extends FrameLayout implements Vi
      */
     public abstract void setTopVisibility(boolean isVisibility);
 
+    /**
+     * 设置top到顶部的距离
+     * @param top                   top距离
+     */
+    public abstract void setTopPadding(float top);
+
     /**
      * 设置横屏播放时,tv和audio图标是否显示
      * @param isVisibility1                 tv图标是否显示

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

@@ -478,11 +478,11 @@ public class VideoPlayerController extends AbsVideoPlayerController implements V
 
     /**
      * 设置播放器
-     * @param VideoPlayer   播放器
+     * @param videoPlayer   播放器
      */
     @Override
-    public void setVideoPlayer(InterVideoPlayer VideoPlayer) {
-        super.setVideoPlayer(VideoPlayer);
+    public void setVideoPlayer(InterVideoPlayer videoPlayer) {
+        super.setVideoPlayer(videoPlayer);
         // 给播放器配置视频链接地址
         if (clarities != null && clarities.size() > 1) {
             mVideoPlayer.setUp(clarities.get(defaultClarityIndex).getVideoUrl(), null);
@@ -506,6 +506,23 @@ public class VideoPlayerController extends AbsVideoPlayerController implements V
         }
     }
 
+    /**
+     * 设置top到顶部的距离
+     * @param top                   top
+     */
+    @Override
+    public void setTopPadding(float top) {
+        //如果设置0,则模式是10dp
+        if (top==0){
+            top = 10.0f;
+        }
+        mTop.setPadding(VideoPlayerUtils.dp2px(mContext,10.0f),
+                VideoPlayerUtils.dp2px(mContext,top),
+                VideoPlayerUtils.dp2px(mContext,10.0f), 0);
+        mTop.invalidate();
+    }
+
+
     /**
      * 获取是否是锁屏模式
      * @return              true表示锁屏

+ 5 - 2
YCVideoPlayerLib/src/main/res/layout/custom_video_player_completed.xml

@@ -17,7 +17,8 @@
         android:padding="8dp"
         android:text="重新播放"
         android:textColor="@android:color/white"
-        android:textSize="14sp"/>
+        android:textSize="14sp"
+        android:drawableLeft="@drawable/ic_player_replay" />
     <TextView
         android:id="@+id/share"
         android:layout_width="wrap_content"
@@ -28,5 +29,7 @@
         android:padding="8dp"
         android:text="分享"
         android:textColor="@android:color/white"
-        android:textSize="14sp"/>
+        android:textSize="14sp"
+        android:layout_marginLeft="50dp"
+        android:drawableLeft="@drawable/ic_palyer_share" />
 </LinearLayout>

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

@@ -12,9 +12,9 @@
 
     <ImageView
         android:id="@+id/back"
-        android:layout_width="20dp"
-        android:layout_height="20dp"
-        android:src="@drawable/ic_back_white"
+        android:layout_width="22dp"
+        android:layout_height="22dp"
+        android:background="@drawable/ic_back_white"
         android:visibility="visible"/>
     <TextView
         android:id="@+id/title"

+ 3 - 3
app/build.gradle

@@ -85,7 +85,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.6.0'                            //播放器
-    compile project(':YCVideoPlayerLib')
-    compile 'cn.yc:YCStatusBarLib:1.3.1'                              //状态栏
+    compile 'cn.yc:YCVideoPlayerLib:2.6.1'                            //播放器
+//    compile project(':YCVideoPlayerLib')
+    compile 'cn.yc:YCStatusBarLib:1.4.0'                              //状态栏
 }

+ 17 - 11
app/src/main/AndroidManifest.xml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
     package="org.yczbj.ycvideoplayer">
 
     <uses-permission android:name="android.permission.INTERNET"/>
@@ -14,7 +15,8 @@
         android:label="@string/app_name"
         android:roundIcon="@mipmap/ic_launcher_round"
         android:supportsRtl="true"
-        android:theme="@style/AppTheme">
+        android:theme="@style/AppTheme"
+        tools:ignore="GoogleAppIndexingWarning">
         <activity android:name=".ui.main.view.activity.MainActivity"
             android:configChanges="orientation|keyboardHidden|screenSize"
             android:screenOrientation="portrait">
@@ -25,14 +27,12 @@
             </intent-filter>
         </activity>
 
-        <activity android:name=".ui.home.view.activity.VideoPlayerMeActivity"
+        <activity android:name=".ui.person.VideoPlayerMeActivity"
             android:configChanges="orientation|keyboardHidden|screenSize"
             android:screenOrientation="portrait"/>
         <activity android:name=".ui.home.view.activity.VideoPlayerJzActivity"
             android:configChanges="orientation|keyboardHidden|screenSize"
             android:screenOrientation="portrait"/>
-        <activity android:name=".ui.person.MeLoginActivity" />
-        <activity android:name=".ui.person.MeMemberActivity"/>
         <activity android:name=".ui.video.view.activity.VideoContentActivity"
             android:configChanges="orientation|keyboardHidden|screenSize"
             android:screenOrientation="portrait"/>
@@ -43,26 +43,32 @@
         <activity android:name=".ui.test.test2.TestMyActivity"
             android:configChanges="orientation|keyboardHidden|screenSize"
             android:screenOrientation="portrait"/>
-        <activity android:name=".ui.test.test2.view.TestMyFirstActivity"
+        <activity android:name=".ui.person.TestThirdVideoActivity"
             android:configChanges="orientation|keyboardHidden|screenSize"
             android:screenOrientation="portrait"/>
-        <activity android:name=".ui.test.test2.view.TestMySecondActivity"
+        <activity android:name=".ui.person.TestFiveVideoActivity"
             android:configChanges="orientation|keyboardHidden|screenSize"
             android:screenOrientation="portrait"/>
-        <activity android:name=".ui.test.test2.view.TestMyThirdActivity"
+        <activity android:name=".ui.person.TestSevenVideoActivity"
             android:configChanges="orientation|keyboardHidden|screenSize"
             android:screenOrientation="portrait"/>
-        <activity android:name=".ui.test.test2.view.TestMyFourActivity"
+        <activity android:name=".ui.person.TestSixVideoActivity"
             android:configChanges="orientation|keyboardHidden|screenSize"
             android:screenOrientation="portrait"/>
-        <activity android:name=".ui.test.test2.view.TestMyFiveActivity"
+        <activity android:name=".ui.person.TestEightVideoActivity"
             android:configChanges="orientation|keyboardHidden|screenSize"
             android:screenOrientation="portrait"/>
-        <activity android:name=".ui.test.test2.view.TestMySixActivity"
+        <activity android:name=".ui.person.TestNineVideoActivity"
             android:configChanges="orientation|keyboardHidden|screenSize"
             android:screenOrientation="portrait"/>
         <activity android:name=".ui.test.test4.MediaPlayerActivity"/>
-        <activity android:name=".ui.home.view.activity.WindowActivity"
+        <activity android:name=".ui.person.TestFourWindowActivity"
+            android:configChanges="orientation|keyboardHidden|screenSize"
+            android:screenOrientation="portrait"/>
+        <activity android:name=".ui.person.TestFirstVideoActivity"
+            android:configChanges="orientation|keyboardHidden|screenSize"
+            android:screenOrientation="portrait"/>
+        <activity android:name=".ui.person.TestSecondFullActivity"
             android:configChanges="orientation|keyboardHidden|screenSize"
             android:screenOrientation="portrait"/>
         <activity android:name=".ui.home.view.activity.EmptyActivity"/>

+ 1 - 0
app/src/main/java/org/yczbj/ycvideoplayer/api/constant/ConstantVideo.java

@@ -29,6 +29,7 @@ public class ConstantVideo {
             "依次输入命令上传代码",
             "把本地项目代码复制到拷贝的仓库",
             "依次输入命令上传代码",
+            "逗比逗比把本地项目代码复制到拷贝的仓库",
     };
 
 }

+ 7 - 5
app/src/main/java/org/yczbj/ycvideoplayer/base/mvp1/BaseFragment.java

@@ -108,12 +108,14 @@ public abstract class BaseFragment<T extends BasePresenter>  extends Fragment {
      * 含有Bundle通过Class跳转界面
      **/
     public void startActivity(Class<?> cls, Bundle bundle) {
-        Intent intent = new Intent();
-        intent.setClass(getActivity(), cls);
-        if (bundle != null) {
-            intent.putExtras(bundle);
+        if (getActivity()!=null){
+            Intent intent = new Intent();
+            intent.setClass(getActivity(), cls);
+            if (bundle != null) {
+                intent.putExtras(bundle);
+            }
+            startActivity(intent);
         }
-        startActivity(intent);
     }
 
     /**用来检测所有Fragment的内存泄漏*/

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

@@ -51,7 +51,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import butterknife.Bind;
-import cn.ycbjie.ycstatusbarlib.bar.YCAppBar;
+import cn.ycbjie.ycstatusbarlib.bar.StateAppBar;
 
 /**
  * ================================================
@@ -116,7 +116,7 @@ public class VideoPlayerJzActivity extends BaseActivity implements VideoPlayerJz
 
     @Override
     public void initView() {
-        YCAppBar.setStatusBarLightMode(this, Color.WHITE);
+        StateAppBar.setStatusBarLightMode(this, Color.WHITE);
         initVideoPlayer();
         initYCRefreshView();
     }

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

@@ -22,10 +22,10 @@ import org.yczbj.ycvideoplayer.api.constant.Constant;
 import org.yczbj.ycvideoplayer.base.BaseConfig;
 import org.yczbj.ycvideoplayer.base.BaseDelegateAdapter;
 import org.yczbj.ycvideoplayer.base.mvp1.BaseFragment;
-import org.yczbj.ycvideoplayer.ui.home.view.activity.WindowActivity;
+import org.yczbj.ycvideoplayer.ui.person.TestFourWindowActivity;
 import org.yczbj.ycvideoplayer.ui.test.test2.TestMyActivity;
 import org.yczbj.ycvideoplayer.ui.home.view.activity.VideoPlayerJzActivity;
-import org.yczbj.ycvideoplayer.ui.home.view.activity.VideoPlayerMeActivity;
+import org.yczbj.ycvideoplayer.ui.person.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;
@@ -305,7 +305,7 @@ public class HomeFragment extends BaseFragment implements View.OnClickListener {
                     public void onClick(View v) {
                         switch (v.getId()) {
                             case R.id.tv_home_first:
-                                startActivity(WindowActivity.class);
+                                startActivity(TestFourWindowActivity.class);
                                 break;
                             case R.id.tv_home_second:
                                 startActivity(TestMyActivity.class);

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

@@ -34,7 +34,7 @@ import org.yczbj.ycvideoplayerlib.manager.VideoPlayerManager;
 import java.util.ArrayList;
 
 import butterknife.Bind;
-import cn.ycbjie.ycstatusbarlib.bar.YCAppBar;
+import cn.ycbjie.ycstatusbarlib.bar.StateAppBar;
 
 /**
  * ================================================
@@ -121,7 +121,7 @@ public class MainActivity extends BaseActivity implements MainContract.View {
 
     @Override
     public void initView() {
-        YCAppBar.setStatusBarLightMode(this, Color.WHITE);
+        StateAppBar.setStatusBarLightMode(this, Color.WHITE);
         initTabLayout();
         initFragment();
     }

+ 89 - 26
app/src/main/java/org/yczbj/ycvideoplayer/ui/person/MeFragment.java

@@ -1,44 +1,52 @@
 package org.yczbj.ycvideoplayer.ui.person;
 
-import android.content.Context;
-import android.os.Bundle;
-import android.view.LayoutInflater;
+import android.support.v7.widget.Toolbar;
 import android.view.View;
-import android.view.ViewGroup;
 import android.widget.TextView;
 
 import org.yczbj.ycvideoplayer.R;
 import org.yczbj.ycvideoplayer.base.mvp1.BaseFragment;
-import org.yczbj.ycvideoplayer.ui.main.view.activity.MainActivity;
-import org.yczbj.ycvideoplayer.weight.AboutMeDialog;
 
 import butterknife.Bind;
-import butterknife.ButterKnife;
 
-/**
- * Description:
- * Update:
- * CreatedTime:2017/12/29
- * Author:MysteryCode
- */
 
 public class MeFragment extends BaseFragment implements View.OnClickListener {
 
+
+    @Bind(R.id.toolbar)
+    Toolbar toolbar;
+    @Bind(R.id.tv_1)
+    TextView tv1;
+    @Bind(R.id.tv_2)
+    TextView tv2;
     @Bind(R.id.tv_3)
     TextView tv3;
-    private MainActivity activity;
-
-    @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-        activity = (MainActivity) context;
-    }
-
-    @Override
-    public void onDetach() {
-        super.onDetach();
-        activity = null;
-    }
+    @Bind(R.id.tv_4)
+    TextView tv4;
+    @Bind(R.id.tv_5)
+    TextView tv5;
+    @Bind(R.id.tv_6)
+    TextView tv6;
+    @Bind(R.id.tv_7)
+    TextView tv7;
+    @Bind(R.id.tv_8)
+    TextView tv8;
+    @Bind(R.id.tv_9)
+    TextView tv9;
+    @Bind(R.id.tv_10)
+    TextView tv10;
+    @Bind(R.id.tv_11)
+    TextView tv11;
+    @Bind(R.id.tv_12)
+    TextView tv12;
+    @Bind(R.id.tv_13)
+    TextView tv13;
+    @Bind(R.id.tv_14)
+    TextView tv14;
+    @Bind(R.id.tv_15)
+    TextView tv15;
+    @Bind(R.id.tv_16)
+    TextView tv16;
 
     @Override
     public int getContentView() {
@@ -52,7 +60,22 @@ public class MeFragment extends BaseFragment implements View.OnClickListener {
 
     @Override
     public void initListener() {
+        tv1.setOnClickListener(this);
+        tv2.setOnClickListener(this);
         tv3.setOnClickListener(this);
+        tv4.setOnClickListener(this);
+        tv5.setOnClickListener(this);
+        tv6.setOnClickListener(this);
+        tv7.setOnClickListener(this);
+        tv8.setOnClickListener(this);
+        tv9.setOnClickListener(this);
+        tv10.setOnClickListener(this);
+        tv11.setOnClickListener(this);
+        tv12.setOnClickListener(this);
+        tv13.setOnClickListener(this);
+        tv14.setOnClickListener(this);
+        tv15.setOnClickListener(this);
+        tv16.setOnClickListener(this);
     }
 
     @Override
@@ -63,7 +86,47 @@ public class MeFragment extends BaseFragment implements View.OnClickListener {
     @Override
     public void onClick(View v) {
         switch (v.getId()) {
+            case R.id.tv_1:
+                startActivity(TestFirstVideoActivity.class);
+                break;
+            case R.id.tv_2:
+                startActivity(TestSecondFullActivity.class);
+                break;
             case R.id.tv_3:
+                startActivity(TestThirdVideoActivity.class);
+                break;
+            case R.id.tv_4:
+                startActivity(TestFourWindowActivity.class);
+                break;
+            case R.id.tv_5:
+                startActivity(TestFiveVideoActivity.class);
+                break;
+            case R.id.tv_6:
+                startActivity(TestSixVideoActivity.class);
+                break;
+            case R.id.tv_7:
+                startActivity(TestSevenVideoActivity.class);
+                break;
+            case R.id.tv_8:
+                startActivity(TestEightVideoActivity.class);
+                break;
+            case R.id.tv_9:
+                startActivity(TestNineVideoActivity.class);
+                break;
+            case R.id.tv_10:
+                startActivity(VideoPlayerMeActivity.class);
+                break;
+            case R.id.tv_11:
+                break;
+            case R.id.tv_12:
+                break;
+            case R.id.tv_13:
+                break;
+            case R.id.tv_14:
+                break;
+            case R.id.tv_15:
+                break;
+            case R.id.tv_16:
                 break;
             default:
                 break;

+ 0 - 56
app/src/main/java/org/yczbj/ycvideoplayer/ui/person/MeLoginActivity.java

@@ -1,56 +0,0 @@
-package org.yczbj.ycvideoplayer.ui.person;
-
-import android.view.View;
-import android.widget.TextView;
-
-import org.yczbj.ycvideoplayer.R;
-import org.yczbj.ycvideoplayer.base.mvp1.BaseActivity;
-
-import butterknife.Bind;
-
-/**
- * Created by yc on 2018/1/15.
- */
-
-public class MeLoginActivity extends BaseActivity implements View.OnClickListener {
-
-    @Bind(R.id.tv_fail)
-    TextView tvFail;
-    @Bind(R.id.tv_success)
-    TextView tvSuccess;
-
-    @Override
-    public int getContentView() {
-        return R.layout.activity_me_login;
-    }
-
-    @Override
-    public void initView() {
-
-    }
-
-    @Override
-    public void initListener() {
-        tvFail.setOnClickListener(this);
-        tvSuccess.setOnClickListener(this);
-    }
-
-    @Override
-    public void initData() {
-
-    }
-
-    @Override
-    public void onClick(View v) {
-        switch (v.getId()){
-            case R.id.tv_fail:
-
-                break;
-            case R.id.tv_success:
-
-                break;
-            default:
-                break;
-        }
-    }
-}

+ 0 - 56
app/src/main/java/org/yczbj/ycvideoplayer/ui/person/MeMemberActivity.java

@@ -1,56 +0,0 @@
-package org.yczbj.ycvideoplayer.ui.person;
-
-import android.view.View;
-import android.widget.TextView;
-
-import org.yczbj.ycvideoplayer.R;
-import org.yczbj.ycvideoplayer.base.mvp1.BaseActivity;
-
-import butterknife.Bind;
-
-/**
- * Created by yc on 2018/1/15.
- */
-
-public class MeMemberActivity extends BaseActivity implements View.OnClickListener {
-
-    @Bind(R.id.tv_fail)
-    TextView tvFail;
-    @Bind(R.id.tv_success)
-    TextView tvSuccess;
-
-    @Override
-    public int getContentView() {
-        return R.layout.activity_me_login;
-    }
-
-    @Override
-    public void initView() {
-
-    }
-
-    @Override
-    public void initListener() {
-        tvFail.setOnClickListener(this);
-        tvSuccess.setOnClickListener(this);
-    }
-
-    @Override
-    public void initData() {
-
-    }
-
-    @Override
-    public void onClick(View v) {
-        switch (v.getId()){
-            case R.id.tv_fail:
-
-                break;
-            case R.id.tv_success:
-
-                break;
-            default:
-                break;
-        }
-    }
-}

+ 5 - 2
app/src/main/java/org/yczbj/ycvideoplayer/ui/test/test2/view/TestMyFiveActivity.java → app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestEightVideoActivity.java

@@ -1,4 +1,4 @@
-package org.yczbj.ycvideoplayer.ui.test.test2.view;
+package org.yczbj.ycvideoplayer.ui.person;
 
 import android.os.Bundle;
 import android.support.v7.widget.LinearLayoutManager;
@@ -18,7 +18,10 @@ import java.util.List;
 import butterknife.Bind;
 
 
-public class TestMyFiveActivity extends BaseActivity {
+/**
+ * @author yc
+ */
+public class TestEightVideoActivity extends BaseActivity {
 
 
     @Bind(R.id.recyclerView)

+ 87 - 0
app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestFirstVideoActivity.java

@@ -0,0 +1,87 @@
+package org.yczbj.ycvideoplayer.ui.person;
+
+import android.view.View;
+import android.widget.Button;
+import android.widget.Toast;
+
+import com.bumptech.glide.Glide;
+
+import org.yczbj.ycvideoplayer.R;
+import org.yczbj.ycvideoplayer.api.constant.ConstantVideo;
+import org.yczbj.ycvideoplayer.base.mvp1.BaseActivity;
+import org.yczbj.ycvideoplayerlib.constant.ConstantKeys;
+import org.yczbj.ycvideoplayerlib.controller.VideoPlayerController;
+import org.yczbj.ycvideoplayerlib.manager.VideoPlayerManager;
+import org.yczbj.ycvideoplayerlib.player.VideoPlayer;
+
+import butterknife.Bind;
+import cn.ycbjie.ycstatusbarlib.StatusBarUtils;
+import cn.ycbjie.ycstatusbarlib.bar.StateAppBar;
+import cn.ycbjie.ycstatusbarlib.dlBar.StatusBarView;
+
+
+/**
+ * @author yc
+ */
+public class TestFirstVideoActivity extends BaseActivity  {
+
+
+    @Bind(R.id.nice_video_player)
+    VideoPlayer videoPlayer;
+
+
+    @Override
+    protected void onStop() {
+        super.onStop();
+        VideoPlayerManager.instance().suspendVideoPlayer();
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        VideoPlayerManager.instance().releaseVideoPlayer();
+    }
+
+    @Override
+    public void onBackPressed() {
+        if (VideoPlayerManager.instance().onBackPressed()){
+            return;
+        }else {
+            VideoPlayerManager.instance().releaseVideoPlayer();
+        }
+        super.onBackPressed();
+    }
+
+    @Override
+    protected void onRestart() {
+        super.onRestart();
+        VideoPlayerManager.instance().resumeVideoPlayer();
+    }
+
+    @Override
+    public int getContentView() {
+        return R.layout.activity_test_video_first;
+    }
+
+    @Override
+    public void initView() {
+        StateAppBar.translucentStatusBar(this, true);
+
+        //必须关键的4步,播放视频最简单的方式
+        videoPlayer.setPlayerType(ConstantKeys.IjkPlayerType.TYPE_NATIVE);
+        videoPlayer.setUp(ConstantVideo.VideoPlayerList[0], null);
+        VideoPlayerController controller = new VideoPlayerController(this);
+        videoPlayer.setController(controller);
+    }
+
+    @Override
+    public void initListener() {
+
+    }
+
+    @Override
+    public void initData() {
+
+    }
+
+}

+ 7 - 4
app/src/main/java/org/yczbj/ycvideoplayer/ui/test/test2/view/TestMySecondActivity.java → app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestFiveVideoActivity.java

@@ -1,4 +1,4 @@
-package org.yczbj.ycvideoplayer.ui.test.test2.view;
+package org.yczbj.ycvideoplayer.ui.person;
 
 import android.view.View;
 import android.widget.Button;
@@ -19,7 +19,10 @@ import java.util.List;
 import butterknife.Bind;
 
 
-public class TestMySecondActivity extends BaseActivity implements View.OnClickListener {
+/**
+ * @author yc
+ */
+public class TestFiveVideoActivity extends BaseActivity implements View.OnClickListener {
 
 
     @Bind(R.id.nice_video_player)
@@ -44,12 +47,12 @@ public class TestMySecondActivity extends BaseActivity implements View.OnClickLi
 
     @Override
     public int getContentView() {
-        return R.layout.activity_test_my_first;
+        return R.layout.activity_test_video_third;
     }
 
     @Override
     public void initView() {
-        niceVideoPlayer.setPlayerType(ConstantKeys.IjkPlayerType.TYPE_IJK); // IjkPlayer or MediaPlayer
+        niceVideoPlayer.setPlayerType(ConstantKeys.IjkPlayerType.TYPE_IJK);
         VideoPlayerController controller = new VideoPlayerController(this);
         controller.setTitle("Beautiful China...");
         controller.setLength(117000);

+ 9 - 6
app/src/main/java/org/yczbj/ycvideoplayer/ui/home/view/activity/WindowActivity.java → app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestFourWindowActivity.java

@@ -1,4 +1,4 @@
-package org.yczbj.ycvideoplayer.ui.home.view.activity;
+package org.yczbj.ycvideoplayer.ui.person;
 
 import android.content.Intent;
 import android.net.Uri;
@@ -9,11 +9,9 @@ import android.view.View;
 import android.view.animation.BounceInterpolator;
 import android.widget.Button;
 
-import com.blankj.utilcode.util.ActivityUtils;
-
 import org.yczbj.ycvideoplayer.R;
 import org.yczbj.ycvideoplayer.base.mvp1.BaseActivity;
-import org.yczbj.ycvideoplayer.ui.test.test2.TestMyActivity;
+import org.yczbj.ycvideoplayer.ui.home.view.activity.EmptyActivity;
 import org.yczbj.ycvideoplayerlib.manager.VideoPlayerManager;
 import org.yczbj.ycvideoplayerlib.player.VideoPlayer;
 import org.yczbj.ycvideoplayerlib.window.FloatPlayerView;
@@ -25,7 +23,10 @@ import org.yczbj.ycvideoplayerlib.window.WindowUtil;
 import butterknife.Bind;
 
 
-public class WindowActivity extends BaseActivity implements View.OnClickListener {
+/**
+ * @author yc
+ */
+public class TestFourWindowActivity extends BaseActivity implements View.OnClickListener {
 
     @Bind(R.id.video_player)
     VideoPlayer videoPlayer;
@@ -58,7 +59,7 @@ public class WindowActivity extends BaseActivity implements View.OnClickListener
 
     @Override
     public int getContentView() {
-        return R.layout.activity_window;
+        return R.layout.activity_test_window_four;
     }
 
     @Override
@@ -90,6 +91,8 @@ public class WindowActivity extends BaseActivity implements View.OnClickListener
             case R.id.btn_2:
                 startActivity(new Intent(this, EmptyActivity.class));
                 break;
+            default:
+                break;
         }
     }
 

+ 6 - 3
app/src/main/java/org/yczbj/ycvideoplayer/ui/test/test2/view/TestMySixActivity.java → app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestNineVideoActivity.java

@@ -1,11 +1,14 @@
-package org.yczbj.ycvideoplayer.ui.test.test2.view;
+package org.yczbj.ycvideoplayer.ui.person;
 
 import org.yczbj.ycvideoplayer.R;
 import org.yczbj.ycvideoplayer.base.mvp1.BaseActivity;
 import org.yczbj.ycvideoplayerlib.manager.VideoPlayerManager;
 
 
-public class TestMySixActivity extends BaseActivity {
+/**
+ * @author yc
+ */
+public class TestNineVideoActivity extends BaseActivity {
 
     @Override
     public void onBackPressed() {
@@ -22,7 +25,7 @@ public class TestMySixActivity extends BaseActivity {
     public void initView() {
         getSupportFragmentManager()
                 .beginTransaction()
-                .add(R.id.container, new TestMySixFragment())
+                .add(R.id.container, new TestNineVideoFragment())
                 .commit();
     }
 

+ 2 - 2
app/src/main/java/org/yczbj/ycvideoplayer/ui/test/test2/view/TestMySixFragment.java → app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestNineVideoFragment.java

@@ -1,4 +1,4 @@
-package org.yczbj.ycvideoplayer.ui.test.test2.view;
+package org.yczbj.ycvideoplayer.ui.person;
 
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
@@ -18,7 +18,7 @@ import butterknife.Bind;
 /**
  * 如果你需要在播放的时候按下Home键能暂停,回调此Fragment又继续的话,需要继承自CompatHomeKeyFragment
  */
-public class TestMySixFragment extends BaseFragment {
+public class TestNineVideoFragment extends BaseFragment {
 
     @Bind(R.id.recyclerView)
     RecyclerView mRecyclerView;

+ 117 - 0
app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestSecondFullActivity.java

@@ -0,0 +1,117 @@
+package org.yczbj.ycvideoplayer.ui.person;
+
+import android.view.View;
+import android.widget.Button;
+import android.widget.Toast;
+
+import com.bumptech.glide.Glide;
+
+import org.yczbj.ycvideoplayer.R;
+import org.yczbj.ycvideoplayer.api.constant.ConstantVideo;
+import org.yczbj.ycvideoplayer.base.mvp1.BaseActivity;
+import org.yczbj.ycvideoplayerlib.constant.ConstantKeys;
+import org.yczbj.ycvideoplayerlib.controller.VideoPlayerController;
+import org.yczbj.ycvideoplayerlib.manager.VideoPlayerManager;
+import org.yczbj.ycvideoplayerlib.player.VideoPlayer;
+
+import butterknife.Bind;
+import cn.ycbjie.ycstatusbarlib.bar.StateAppBar;
+
+
+/**
+ * @author yc
+ */
+public class TestSecondFullActivity extends BaseActivity implements View.OnClickListener {
+
+
+    @Bind(R.id.nice_video_player)
+    VideoPlayer videoPlayer;
+    @Bind(R.id.btn_tiny_1)
+    Button btnTiny1;
+    @Bind(R.id.btn_tiny_2)
+    Button btnTiny2;
+
+    @Override
+    protected void onStop() {
+        super.onStop();
+        VideoPlayerManager.instance().suspendVideoPlayer();
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        VideoPlayerManager.instance().releaseVideoPlayer();
+    }
+
+    @Override
+    public void onBackPressed() {
+        if (VideoPlayerManager.instance().onBackPressed()){
+            return;
+        }else {
+            VideoPlayerManager.instance().releaseVideoPlayer();
+        }
+        super.onBackPressed();
+    }
+
+    @Override
+    protected void onRestart() {
+        super.onRestart();
+        VideoPlayerManager.instance().resumeVideoPlayer();
+    }
+
+    @Override
+    public int getContentView() {
+        return R.layout.activity_test_video_second;
+    }
+
+    @Override
+    public void initView() {
+        StateAppBar.translucentStatusBar(this, true);
+
+        videoPlayer.setPlayerType(ConstantKeys.IjkPlayerType.TYPE_NATIVE);
+        videoPlayer.setUp(ConstantVideo.VideoPlayerList[0], null);
+        VideoPlayerController controller = new VideoPlayerController(this);
+        controller.setTitle("办公室小野开番外了,居然在办公室开澡堂!老板还点赞?");
+        controller.setLength(98000);
+        Glide.with(this)
+                .load("http://tanzi27niu.cdsb.mobi/wps/wp-content/uploads/2017/05/2017-05-17_17-30-43.jpg")
+                .placeholder(R.drawable.image_default)
+                .crossFade()
+                .into(controller.imageView());
+        //设置中间播放按钮是否显示
+        controller.setCenterPlayer(true,R.drawable.ic_player_center_start);
+        controller.setTopPadding(24.0f);
+        videoPlayer.setController(controller);
+    }
+
+    @Override
+    public void initListener() {
+        btnTiny1.setOnClickListener(this);
+        btnTiny2.setOnClickListener(this);
+    }
+
+    @Override
+    public void initData() {
+
+    }
+
+    @Override
+    public void onClick(View v) {
+        switch (v.getId()){
+            case R.id.btn_tiny_1:
+                if (videoPlayer.isIdle()) {
+                    videoPlayer.start();
+                }
+                videoPlayer.enterVerticalScreenScreen();
+                break;
+            case R.id.btn_tiny_2:
+                if (videoPlayer.isIdle()) {
+                    videoPlayer.start();
+                }
+                videoPlayer.enterFullScreen();
+                break;
+            default:
+                break;
+        }
+    }
+}

+ 5 - 2
app/src/main/java/org/yczbj/ycvideoplayer/ui/test/test2/view/TestMyThirdActivity.java → app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestSevenVideoActivity.java

@@ -1,4 +1,4 @@
-package org.yczbj.ycvideoplayer.ui.test.test2.view;
+package org.yczbj.ycvideoplayer.ui.person;
 
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
@@ -16,7 +16,10 @@ import java.util.List;
 import butterknife.Bind;
 
 
-public class TestMyThirdActivity extends BaseActivity {
+/**
+ * @author yc
+ */
+public class TestSevenVideoActivity extends BaseActivity {
 
 
     @Bind(R.id.recyclerView)

+ 6 - 3
app/src/main/java/org/yczbj/ycvideoplayer/ui/test/test2/view/TestMyFourActivity.java → app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestSixVideoActivity.java

@@ -1,11 +1,14 @@
-package org.yczbj.ycvideoplayer.ui.test.test2.view;
+package org.yczbj.ycvideoplayer.ui.person;
 
 import org.yczbj.ycvideoplayer.R;
 import org.yczbj.ycvideoplayer.base.mvp1.BaseActivity;
 import org.yczbj.ycvideoplayerlib.manager.VideoPlayerManager;
 
 
-public class TestMyFourActivity extends BaseActivity  {
+/**
+ * @author yc
+ */
+public class TestSixVideoActivity extends BaseActivity  {
 
     @Override
     protected void onStop() {
@@ -29,7 +32,7 @@ public class TestMyFourActivity extends BaseActivity  {
     public void initView() {
         getSupportFragmentManager()
                 .beginTransaction()
-                .add(R.id.container, new TestMyFourFragment())
+                .add(R.id.container, new TestSixVideoFragment())
                 .commit();
     }
 

+ 3 - 2
app/src/main/java/org/yczbj/ycvideoplayer/ui/test/test2/view/TestMyFourFragment.java → app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestSixVideoFragment.java

@@ -1,4 +1,4 @@
-package org.yczbj.ycvideoplayer.ui.test.test2.view;
+package org.yczbj.ycvideoplayer.ui.person;
 
 import android.os.Bundle;
 import android.support.annotation.Nullable;
@@ -21,8 +21,9 @@ import java.util.List;
 
 /**
  * 如果你需要在播放的时候按下Home键能暂停,回调此Fragment又继续的话,需要继承自CompatHomeKeyFragment
+ * @author yc
  */
-public class TestMyFourFragment extends Fragment {
+public class TestSixVideoFragment extends Fragment {
 
     private RecyclerView mRecyclerView;
 

+ 10 - 6
app/src/main/java/org/yczbj/ycvideoplayer/ui/test/test2/view/TestMyFirstActivity.java → app/src/main/java/org/yczbj/ycvideoplayer/ui/person/TestThirdVideoActivity.java

@@ -1,4 +1,4 @@
-package org.yczbj.ycvideoplayer.ui.test.test2.view;
+package org.yczbj.ycvideoplayer.ui.person;
 
 import android.view.View;
 import android.widget.Button;
@@ -17,7 +17,10 @@ import org.yczbj.ycvideoplayerlib.controller.VideoPlayerController;
 import butterknife.Bind;
 
 
-public class TestMyFirstActivity extends BaseActivity implements View.OnClickListener {
+/**
+ * @author yc
+ */
+public class TestThirdVideoActivity extends BaseActivity implements View.OnClickListener {
 
 
     @Bind(R.id.nice_video_player)
@@ -42,15 +45,15 @@ public class TestMyFirstActivity extends BaseActivity implements View.OnClickLis
 
     @Override
     public int getContentView() {
-        return R.layout.activity_test_my_first;
+        return R.layout.activity_test_video_third;
     }
 
     @Override
     public void initView() {
-        videoPlayer.setPlayerType(ConstantKeys.IjkPlayerType.TYPE_NATIVE); // IjkPlayer or MediaPlayer
-        String videoUrl = ConstantVideo.VideoPlayerList[0];
-        videoPlayer.setUp(videoUrl, null);
+        videoPlayer.setPlayerType(ConstantKeys.IjkPlayerType.TYPE_NATIVE);
+        videoPlayer.setUp(ConstantVideo.VideoPlayerList[0], null);
         VideoPlayerController controller = new VideoPlayerController(this);
+        controller.setLoadingType(ConstantKeys.Loading.LOADING_RING);
         controller.setTitle("办公室小野开番外了,居然在办公室开澡堂!老板还点赞?");
         controller.setLength(98000);
         Glide.with(this)
@@ -58,6 +61,7 @@ public class TestMyFirstActivity extends BaseActivity implements View.OnClickLis
                 .placeholder(R.drawable.image_default)
                 .crossFade()
                 .into(controller.imageView());
+        controller.setHideTime(2000);
         videoPlayer.setController(controller);
     }
 

+ 5 - 5
app/src/main/java/org/yczbj/ycvideoplayer/ui/test/test2/view/VideoAdapter.java → app/src/main/java/org/yczbj/ycvideoplayer/ui/person/VideoAdapter.java

@@ -1,4 +1,4 @@
-package org.yczbj.ycvideoplayer.ui.test.test2.view;
+package org.yczbj.ycvideoplayer.ui.person;
 
 import android.content.Context;
 import android.support.v7.widget.RecyclerView;
@@ -20,7 +20,7 @@ public class VideoAdapter extends RecyclerView.Adapter<VideoAdapter.VideoViewHol
     private Context mContext;
     private List<Video> mVideoList;
 
-    VideoAdapter(Context context, List<Video> videoList) {
+    public VideoAdapter(Context context, List<Video> videoList) {
         mContext = context;
         mVideoList = videoList;
     }
@@ -46,10 +46,10 @@ public class VideoAdapter extends RecyclerView.Adapter<VideoAdapter.VideoViewHol
         return mVideoList==null ? 0 : mVideoList.size();
     }
 
-    class VideoViewHolder extends RecyclerView.ViewHolder {
+    public class VideoViewHolder extends RecyclerView.ViewHolder {
 
-        VideoPlayerController mController;
-        VideoPlayer mVideoPlayer;
+        public VideoPlayerController mController;
+        public VideoPlayer mVideoPlayer;
 
         VideoViewHolder(View itemView) {
             super(itemView);

+ 3 - 3
app/src/main/java/org/yczbj/ycvideoplayer/ui/home/view/activity/VideoPlayerMeActivity.java → app/src/main/java/org/yczbj/ycvideoplayer/ui/person/VideoPlayerMeActivity.java

@@ -1,4 +1,4 @@
-package org.yczbj.ycvideoplayer.ui.home.view.activity;
+package org.yczbj.ycvideoplayer.ui.person;
 
 import android.annotation.SuppressLint;
 import android.graphics.Color;
@@ -53,7 +53,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import butterknife.Bind;
-import cn.ycbjie.ycstatusbarlib.bar.YCAppBar;
+import cn.ycbjie.ycstatusbarlib.bar.StateAppBar;
 
 /**
  * ================================================
@@ -115,7 +115,7 @@ public class VideoPlayerMeActivity extends BaseActivity implements VideoPlayerMe
 
     @Override
     public void initView() {
-        YCAppBar.setStatusBarLightMode(this, Color.WHITE);
+        StateAppBar.setStatusBarLightMode(this, Color.WHITE);
         initVideoPlayer();
         initYCRefreshView();
     }

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

@@ -1,32 +1,22 @@
 package org.yczbj.ycvideoplayer.ui.test.test2;
 
 import android.graphics.Color;
-import android.view.KeyEvent;
 import android.view.View;
-import android.view.ViewGroup;
 import android.widget.Button;
-import android.widget.LinearLayout;
-
-import com.blankj.utilcode.util.ScreenUtils;
 
 import org.yczbj.ycvideoplayer.R;
 import org.yczbj.ycvideoplayer.api.constant.ConstantVideo;
 import org.yczbj.ycvideoplayer.base.mvp1.BaseActivity;
-import org.yczbj.ycvideoplayer.ui.test.test2.view.TestMyFirstActivity;
-import org.yczbj.ycvideoplayer.ui.test.test2.view.TestMyFiveActivity;
-import org.yczbj.ycvideoplayer.ui.test.test2.view.TestMyFourActivity;
-import org.yczbj.ycvideoplayer.ui.test.test2.view.TestMySecondActivity;
-import org.yczbj.ycvideoplayer.ui.test.test2.view.TestMySixActivity;
-import org.yczbj.ycvideoplayer.ui.test.test2.view.TestMyThirdActivity;
-import org.yczbj.ycvideoplayerlib.player.VideoPlayer;
-import org.yczbj.ycvideoplayerlib.constant.ConstantKeys;
-import org.yczbj.ycvideoplayerlib.inter.listener.OnVideoBackListener;
-import org.yczbj.ycvideoplayerlib.controller.VideoPlayerController;
+import org.yczbj.ycvideoplayer.ui.person.TestThirdVideoActivity;
+import org.yczbj.ycvideoplayer.ui.person.TestEightVideoActivity;
+import org.yczbj.ycvideoplayer.ui.person.TestSixVideoActivity;
+import org.yczbj.ycvideoplayer.ui.person.TestFiveVideoActivity;
+import org.yczbj.ycvideoplayer.ui.person.TestNineVideoActivity;
+import org.yczbj.ycvideoplayer.ui.person.TestSevenVideoActivity;
 import org.yczbj.ycvideoplayerlib.manager.VideoPlayerManager;
-import org.yczbj.ycvideoplayerlib.utils.VideoPlayerUtils;
 
 import butterknife.Bind;
-import cn.ycbjie.ycstatusbarlib.bar.YCAppBar;
+import cn.ycbjie.ycstatusbarlib.bar.StateAppBar;
 
 /**
  * @author yc
@@ -79,7 +69,7 @@ public class TestMyActivity extends BaseActivity implements View.OnClickListener
 
     @Override
     public void initView() {
-        YCAppBar.setStatusBarLightMode(this, Color.WHITE);
+        StateAppBar.setStatusBarLightMode(this, Color.WHITE);
     }
 
 
@@ -104,22 +94,22 @@ public class TestMyActivity extends BaseActivity implements View.OnClickListener
     public void onClick(View view) {
         switch (view.getId()) {
             case R.id.btn_my_1:
-                startActivity(TestMyFirstActivity.class);
+                startActivity(TestThirdVideoActivity.class);
                 break;
             case R.id.btn_my_2:
-                startActivity(TestMySecondActivity.class);
+                startActivity(TestFiveVideoActivity.class);
                 break;
             case R.id.btn_my_3:
-                startActivity(TestMyThirdActivity.class);
+                startActivity(TestSevenVideoActivity.class);
                 break;
             case R.id.btn_my_4:
-                startActivity(TestMyFourActivity.class);
+                startActivity(TestSixVideoActivity.class);
                 break;
             case R.id.btn_my_5:
-                startActivity(TestMyFiveActivity.class);
+                startActivity(TestEightVideoActivity.class);
                 break;
             case R.id.btn_my_6:
-                startActivity(TestMySixActivity.class);
+                startActivity(TestNineVideoActivity.class);
                 break;
             default:
                 break;

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

@@ -41,7 +41,7 @@ import java.util.zip.CRC32;
 
 import butterknife.Bind;
 import butterknife.ButterKnife;
-import cn.ycbjie.ycstatusbarlib.bar.YCAppBar;
+import cn.ycbjie.ycstatusbarlib.bar.StateAppBar;
 import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.annotations.NonNull;
 import io.reactivex.functions.Consumer;
@@ -134,7 +134,7 @@ public class VideoContentActivity extends BaseMVPActivity {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.base_easy_recycle);
         ButterKnife.bind(this);
-        YCAppBar.setStatusBarLightMode(this, Color.WHITE);
+        StateAppBar.setStatusBarLightMode(this, Color.WHITE);
         initView();
         initData();
         onLoadData();

+ 0 - 41
app/src/main/res/layout/activity_me_login.xml

@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:orientation="vertical"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-
-
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="@color/colorPrimary"
-        android:padding="10dp"
-        android:layout_margin="10dp"
-        android:textSize="20sp"
-        android:text="我的登录页面"/>
-
-
-    <TextView
-        android:id="@+id/tv_fail"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="@color/colorPrimary"
-        android:padding="10dp"
-        android:layout_margin="10dp"
-        android:textSize="20sp"
-        android:text="假设注册失败,调试视频VIP播放器"/>
-
-
-    <TextView
-        android:id="@+id/tv_success"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="@color/colorPrimary"
-        android:padding="10dp"
-        android:layout_margin="10dp"
-        android:textSize="20sp"
-        android:text="假设注册成功,调试视频VIP播放器"/>
-
-</LinearLayout>

+ 0 - 41
app/src/main/res/layout/activity_me_member.xml

@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:orientation="vertical"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-
-
-    <TextView
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="@color/colorPrimary"
-        android:padding="10dp"
-        android:layout_margin="10dp"
-        android:textSize="20sp"
-        android:text="我的会员页面"/>
-
-
-    <TextView
-        android:id="@+id/tv_fail"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="@color/colorPrimary"
-        android:padding="10dp"
-        android:layout_margin="10dp"
-        android:textSize="20sp"
-        android:text="假设购买会员失败,调试视频VIP播放器"/>
-
-
-    <TextView
-        android:id="@+id/tv_success"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="@color/colorPrimary"
-        android:padding="10dp"
-        android:layout_margin="10dp"
-        android:textSize="20sp"
-        android:text="假设购买会员成功,调试视频VIP播放器"/>
-
-</LinearLayout>

+ 13 - 0
app/src/main/res/layout/activity_test_video_first.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <org.yczbj.ycvideoplayerlib.player.VideoPlayer
+        android:id="@+id/nice_video_player"
+        android:layout_width="match_parent"
+        android:layout_height="240dp"/>
+
+</LinearLayout>

+ 27 - 0
app/src/main/res/layout/activity_test_video_second.xml

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <org.yczbj.ycvideoplayerlib.player.VideoPlayer
+        android:id="@+id/nice_video_player"
+        android:layout_width="match_parent"
+        android:layout_height="240dp"/>
+
+    <Button
+        android:id="@+id/btn_tiny_1"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="16dp"
+        android:text="1.直接开启竖屏全屏播放"/>
+
+    <Button
+        android:id="@+id/btn_tiny_2"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="16dp"
+        android:text="2.直接开启横屏全屏播放"/>
+
+</LinearLayout>

+ 0 - 0
app/src/main/res/layout/activity_test_my_first.xml → app/src/main/res/layout/activity_test_video_third.xml


+ 0 - 0
app/src/main/res/layout/activity_window.xml → app/src/main/res/layout/activity_test_window_four.xml


+ 145 - 26
app/src/main/res/layout/fragment_me.xml

@@ -20,38 +20,157 @@
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:gravity="center"
-            android:text="个人中心"
+            android:text="播放视频的案例展示"
             android:textSize="18sp"
             android:textColor="@color/blackText"/>
     </android.support.v7.widget.Toolbar>
 
 
-    <TextView
-        android:id="@+id/tv_1"
+    <ScrollView
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="10dp"
-        android:layout_margin="10dp"
-        android:background="@color/gray3"
-        android:text="我的视频缓存"/>
-
-    <TextView
-        android:id="@+id/tv_2"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="10dp"
-        android:layout_margin="10dp"
-        android:background="@color/gray3"
-        android:text="我的音频缓存"/>
-
+        android:layout_height="match_parent">
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:padding="10dp">
+            <TextView
+                android:id="@+id/tv_0"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:padding="10dp"
+                android:background="@color/colorAccent"
+                android:text="0.所有api说明"/>
+            <TextView
+                android:id="@+id/tv_1"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:padding="10dp"
+                android:background="@color/colorAccent"
+                android:text="1.最简单的播放视频"/>
+            <TextView
+                android:id="@+id/tv_2"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:padding="10dp"
+                android:background="@color/colorAccent"
+                android:text="2.竖屏全屏播放/横屏全屏播放"/>
+            <TextView
+                android:id="@+id/tv_3"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:padding="10dp"
+                android:background="@color/colorAccent"
+                android:text="3.小窗口播放视频"/>
+            <TextView
+                android:id="@+id/tv_4"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:padding="10dp"
+                android:background="@color/colorAccent"
+                android:text="4.页面悬浮可拖动小窗口播放视频"/>
+            <TextView
+                android:id="@+id/tv_5"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:padding="10dp"
+                android:background="@color/colorAccent"
+                android:text="5.全屏播放可以切换视频清晰度"/>
+            <TextView
+                android:id="@+id/tv_6"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:padding="10dp"
+                android:background="@color/colorAccent"
+                android:text="6.在fragment中播放"/>
+            <TextView
+                android:id="@+id/tv_7"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:padding="10dp"
+                android:background="@color/colorAccent"
+                android:text="7.在列表中播放,滑动停止播放"/>
+            <TextView
+                android:id="@+id/tv_8"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:padding="10dp"
+                android:background="@color/colorAccent"
+                android:text="8.在activity中处理播放时按下home处理视频逻辑"/>
+            <TextView
+                android:id="@+id/tv_9"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:padding="10dp"
+                android:background="@color/colorAccent"
+                android:text="9.在fragment中处理播放时按下home处理视频逻辑"/>
+            <TextView
+                android:id="@+id/tv_10"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:padding="10dp"
+                android:background="@color/colorAccent"
+                android:text="10.显示视频top顶部分享,下载,更多等按钮"/>
+            <TextView
+                android:id="@+id/tv_11"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:padding="10dp"
+                android:background="@color/colorAccent"
+                android:text="11.仿抖音可上下滑动播放视频"/>
+            <TextView
+                android:id="@+id/tv_12"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:padding="10dp"
+                android:background="@color/colorAccent"
+                android:text="12."/>
+            <TextView
+                android:id="@+id/tv_13"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:padding="10dp"
+                android:background="@color/colorAccent"
+                android:text="13."/>
+            <TextView
+                android:id="@+id/tv_14"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:padding="10dp"
+                android:background="@color/colorAccent"
+                android:text="14."/>
+            <TextView
+                android:id="@+id/tv_15"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:padding="10dp"
+                android:background="@color/colorAccent"
+                android:text="15."/>
+            <TextView
+                android:id="@+id/tv_16"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
+                android:padding="10dp"
+                android:background="@color/colorAccent"
+                android:text="16."/>
+        </LinearLayout>
+    </ScrollView>
 
-    <TextView
-        android:id="@+id/tv_3"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:padding="10dp"
-        android:layout_margin="10dp"
-        android:background="@color/gray3"
-        android:text="关于我的说明"/>
 
 </LinearLayout>

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

@@ -26,7 +26,7 @@
         <item>新闻</item>
         <item>电影</item>
         <item>视频</item>
-        <item>我的</item>
+        <item>案例</item>
     </string-array>
 
 

+ 6 - 0
read/wiki1.md

@@ -0,0 +1,6 @@
+# 基础方法说明
+
+
+
+
+

+ 23 - 0
read/wiki3.md

@@ -0,0 +1,23 @@
+# 视频全局悬浮窗播放
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ 27 - 0
read/wiki4.md

@@ -0,0 +1,27 @@
+# 视频封装思路
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ 26 - 0
read/wiki5.md

@@ -0,0 +1,26 @@
+# 视频问题处理
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+ 26 - 0
read/wiki6.md

@@ -0,0 +1,26 @@
+# 边播边缓存
+
+
+
+- https://blog.csdn.net/ta893115871/article/details/71429738
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+