Browse Source

YCVideoPlayer

yangchong 7 years ago
parent
commit
e987117afe

+ 1 - 1
YCVideoPlayerLib/build.gradle

@@ -51,7 +51,7 @@ group = "cn.yc"
 //发布到JCenter上的项目名字,必须填写
 def libName = "YCVideoPlayerLib"
 // 版本号,下次更新是只需要更改版本号即可
-version = "2.4.4"
+version = "2.4.5"
 /**  上面配置后上传至jcenter后的编译路径是这样的: compile 'cn.yc:YCVideoPlayerLib:2.4'  **/
 
 //生成源文件

+ 1 - 2
YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/AbsVideoPlayerController.java

@@ -95,9 +95,8 @@ public abstract class AbsVideoPlayerController extends FrameLayout implements Vi
      * @param isLogin   是否登录
      * @param isSee     是否有权限看[及时登录,如果没有成为会员也需区分权限的]
      * @param type      视频类型
-     * @param isSaveProgress        是否保存观看位置
      */
-    public abstract void setMemberType(boolean isLogin , boolean isSee , int type , boolean isSaveProgress);
+    public abstract void setMemberType(boolean isLogin , boolean isSee , int type);
 
 
     /**

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

@@ -1,6 +1,5 @@
 package org.yczbj.ycvideoplayerlib;
 
-import java.util.List;
 import java.util.Map;
 
 /**

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

@@ -22,6 +22,7 @@ import android.widget.Toast;
 
 import org.yczbj.ycvideoplayerlib.listener.OnClarityChangedListener;
 import org.yczbj.ycvideoplayerlib.listener.OnMemberClickListener;
+import org.yczbj.ycvideoplayerlib.listener.OnPlayOrPauseListener;
 import org.yczbj.ycvideoplayerlib.listener.OnVideoBackListener;
 import org.yczbj.ycvideoplayerlib.listener.OnVideoControlListener;
 
@@ -324,11 +325,10 @@ public class VideoPlayerController extends AbsVideoPlayerController implements V
      * 设置会员权限类型
      * @param isLogin   是否登录
      * @param isSee     是否有权限看[及时登录,如果没有成为会员也需区分权限的]
-     * @param type      视频类型
-     * @param isSaveProgress        是否保存观看位置
+     * @param type      视频试看类型
      */
     @Override
-    public void setMemberType(boolean isLogin, boolean isSee, int type ,boolean isSaveProgress) {
+    public void setMemberType(boolean isLogin, boolean isSee, int type) {
         this.mIsSee = isSee;
         this.mIsLogin = isLogin;
         this.mType = type;
@@ -712,8 +712,14 @@ public class VideoPlayerController extends AbsVideoPlayerController implements V
             //重新播放或者暂停
             if (mVideoPlayer.isPlaying() || mVideoPlayer.isBufferingPlaying()) {
                 mVideoPlayer.pause();
+                if(mOnPlayOrPauseListener!=null){
+                    mOnPlayOrPauseListener.onPlayOrPauseClick(true);
+                }
             } else if (mVideoPlayer.isPaused() || mVideoPlayer.isBufferingPaused()) {
                 mVideoPlayer.restart();
+                if(mOnPlayOrPauseListener!=null){
+                    mOnPlayOrPauseListener.onPlayOrPauseClick(false);
+                }
             }
         } else if (v == mFullScreen) {
             //全屏模式,重置锁屏,设置为未选中状态
@@ -1073,9 +1079,20 @@ public class VideoPlayerController extends AbsVideoPlayerController implements V
         this.mBackListener = listener;
     }
 
+    /**
+     * 设置视频分享,下载,音视频转化点击事件
+     */
     private OnVideoControlListener mVideoControlListener;
     public void setOnVideoControlListener(OnVideoControlListener listener){
         this.mVideoControlListener = listener;
     }
 
+    /**
+     * 播放暂停监听事件
+     */
+    private OnPlayOrPauseListener mOnPlayOrPauseListener;
+    public void setOnPlayOrPauseListener(OnPlayOrPauseListener listener){
+        this.mOnPlayOrPauseListener = listener;
+    }
+
 }

+ 10 - 0
YCVideoPlayerLib/src/main/java/org/yczbj/ycvideoplayerlib/listener/OnPlayOrPauseListener.java

@@ -0,0 +1,10 @@
+package org.yczbj.ycvideoplayerlib.listener;
+
+/**
+ * 播放暂停点击事件抽象接口
+ */
+public interface OnPlayOrPauseListener {
+
+    void onPlayOrPauseClick(boolean isPlaying);
+
+}

+ 0 - 1
app/build.gradle

@@ -47,7 +47,6 @@ dependencies {
     compile fileTree(include: ['*.jar'], dir: 'libs')
     //官方库
     compile 'com.android.support:appcompat-v7:26.1.0'
-    compile 'com.android.support:support-v4:26.1.0'
     compile 'com.android.support:recyclerview-v7:26.1.0'
     compile 'com.android.support:design:26.1.0'
     compile 'com.android.support:cardview-v7:26.1.0'

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

@@ -142,7 +142,7 @@ public class VideoPlayerMeActivity extends BaseActivity implements VideoPlayerMe
         controller.setTitle("高仿优酷视频播放页面");
         controller.setLoadingType(2);
         controller.setTopVisibility(true);
-        controller.setMemberType(false,false,2,true);
+        controller.setMemberType(false,false,2);
         controller.imageView().setBackgroundResource(R.color.blackText);
         controller.setOnVideoBackListener(new OnVideoBackListener() {
             @Override

+ 0 - 10
app/src/main/java/org/yczbj/ycvideoplayer/ui/home/view/adapter/DownloadVideoAdapter.java

@@ -266,16 +266,6 @@ public class DownloadVideoAdapter extends RecyclerView.Adapter<DownloadVideoAdap
             switch (state){
                 //下载
                 case STATE_START:
-                    //ToastUtil.showToast(mContext,"开始下载");
-                    /*final TasksManagerModel model = TasksManager.getImpl().get(holder.position);
-                    final BaseDownloadTask task = FileDownloader.getImpl().create(model.getUrl())
-                            .setPath(model.getPath())
-                            .setCallbackProgressTimes(100)
-                            .setListener(taskDownloadListener);
-                    TasksManager.getImpl().addTaskForViewHolder(task);
-                    TasksManager.getImpl().updateViewHolder(holder.id, holder);
-                    task.start();*/
-
                     String path = TasksManager.getImpl().createPath(model.getVideo());
                     final BaseDownloadTask task = FileDownloader.getImpl().create(model.getVideo())
                             .setPath(path)

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

@@ -39,6 +39,7 @@ 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.OnPlayOrPauseListener;
 import org.yczbj.ycvideoplayerlib.listener.OnVideoBackListener;
 import org.yczbj.ycvideoplayerlib.listener.OnVideoControlListener;
 
@@ -206,6 +207,16 @@ public class HomeFragment extends BaseFragment implements View.OnClickListener {
         //创建视频控制器
         controller = new VideoPlayerController(activity);
         controller.setTopVisibility(true);
+        controller.setOnPlayOrPauseListener(new OnPlayOrPauseListener() {
+            @Override
+            public void onPlayOrPauseClick(boolean isPlaying) {
+                if(isPlaying){
+                    ToastUtil.showToast(activity,"暂停视频");
+                }else {
+                    ToastUtil.showToast(activity,"开始播放");
+                }
+            }
+        });
         controller.setOnVideoBackListener(new OnVideoBackListener() {
             @Override
             public void onBackClick() {

+ 1 - 0
app/src/main/java/org/yczbj/ycvideoplayer/ui/news/NewsFragment.java

@@ -22,6 +22,7 @@ import butterknife.Bind;
 
 /**
  * Created by yc on 2018/2/28.
+ *
  */
 
 public class NewsFragment extends BaseLazyFragment {

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

@@ -320,7 +320,7 @@ public class TestMyActivity extends BaseActivity implements View.OnClickListener
         //设置不操作后,5秒自动隐藏头部和底部布局
         controller.setHideTime(5000);
         //设置设置会员权限类型,第一个参数是否登录,第二个参数是否有权限看,第三个参数试看完后展示的文字内容,第四个参数是否保存进度位置
-        controller.setMemberType(false,false,3,true);
+        controller.setMemberType(false,false,3);
         //设置背景图片
         controller.imageView().setBackgroundResource(R.color.blackText);
         //ImageUtil.loadImgByPicasso(this, R.color.blackText, R.drawable.image_default, controller.imageView());
@@ -376,7 +376,7 @@ public class TestMyActivity extends BaseActivity implements View.OnClickListener
         //controller.setLength(98000);
         controller.setLoadingType(1);
         controller.setTrySeeTime(60000);
-        controller.setMemberType(true,false,0,true);
+        controller.setMemberType(true,false,0);
         controller.imageView().setBackgroundResource(R.color.blackText);
         //ImageUtil.loadImgByPicasso(this, R.color.blackText, R.drawable.image_default, controller.imageView());
         controller.setOnMemberClickListener(new OnMemberClickListener() {
@@ -422,7 +422,7 @@ public class TestMyActivity extends BaseActivity implements View.OnClickListener
         controller.setTitle("高仿优酷视频播放页面");
         //controller.setLength(98000);
         controller.setLoadingType(2);
-        controller.setMemberType(true,true,1,true);
+        controller.setMemberType(true,true,1);
         controller.imageView().setBackgroundResource(R.color.blackText);
         //ImageUtil.loadImgByPicasso(this, R.color.blackText, R.drawable.image_default, controller.imageView());
         controller.setOnMemberClickListener(new OnMemberClickListener() {
@@ -553,7 +553,7 @@ public class TestMyActivity extends BaseActivity implements View.OnClickListener
         controller.setMemberContent(content);
         controller.setHideTime(5000);
         //设置设置会员权限类型,第一个参数是否登录,第二个参数是否有权限看,第三个参数试看完后展示的文字内容,第四个参数是否保存进度位置
-        controller.setMemberType(false,false,3,true);
+        controller.setMemberType(false,false,3);
         controller.imageView().setBackgroundResource(R.color.blackText);
         //ImageUtil.loadImgByPicasso(this, R.color.blackText, R.drawable.image_default, controller.imageView());
         //设置试看结束后,登录或者充值会员按钮的点击事件

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

@@ -56,6 +56,7 @@
                 android:id="@+id/circle_pb"
                 android:layout_width="25dp"
                 android:layout_height="25dp"
+                android:visibility="visible"
                 android:text="" />
         </FrameLayout>
         <TextView