1
0
Эх сурвалжийг харах

完善视频播放器状态监听暴露接口功能

杨充 4 жил өмнө
parent
commit
1323f9b54e

+ 22 - 20
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/config/ConstantKeys.java

@@ -79,7 +79,7 @@ public final class ConstantKeys {
     public @interface VideoControlType{}
 
     /**
-     * 播放模式,主要是指播放器的各种状态
+     * 播放状态,主要是指播放器的各种状态
      * -1               播放错误
      * 0                播放未开始
      * 1                播放准备中
@@ -105,18 +105,12 @@ public final class ConstantKeys {
         int STATE_START_ABORT = 8;
     }
 
-    /**
-     * 播放模式,普通模式,小窗口模式,正常模式三种其中一种
-     */
+    @IntDef({CurrentState.STATE_ERROR,CurrentState.STATE_IDLE,CurrentState.STATE_PREPARING,
+            CurrentState.STATE_PREPARED,CurrentState.STATE_PLAYING,CurrentState.STATE_PAUSED,
+            CurrentState.STATE_BUFFERING_PLAYING,CurrentState.STATE_BUFFERING_PAUSED,
+            CurrentState.STATE_COMPLETED,CurrentState.STATE_START_ABORT})
     @Retention(RetentionPolicy.SOURCE)
-    public @interface PlayMode {
-        //普通模式
-        int MODE_NORMAL = 1001;
-        //全屏模式
-        int MODE_FULL_SCREEN = 1002;
-        //小屏模式
-        int MODE_TINY_WINDOW = 1003;
-    }
+    public @interface CurrentStateType{}
 
     /**
      * 通过注解限定类型
@@ -164,18 +158,26 @@ public final class ConstantKeys {
     }
 
     /**
-     * 播放模式状态
+     * 播放模式
+     * 普通模式,小窗口模式,正常模式三种其中一种
+     * MODE_NORMAL              普通模式
+     * MODE_FULL_SCREEN         全屏模式
+     * MODE_TINY_WINDOW         小屏模式
      */
     @Retention(RetentionPolicy.SOURCE)
-    public @interface PlayerPatternType {
-        //切换到全屏播放监听
-        int FULL_SCREEN = 101;
-        //切换到小窗口播放监听
-        int TINY_WINDOW = 102;
-        //切换到正常播放监听
-        int NORMAL = 103;
+    public @interface PlayMode {
+        //普通模式
+        int MODE_NORMAL = 1001;
+        //全屏模式
+        int MODE_FULL_SCREEN = 1002;
+        //小屏模式
+        int MODE_TINY_WINDOW = 1003;
     }
 
+    @IntDef({PlayMode.MODE_NORMAL,PlayMode.MODE_FULL_SCREEN,PlayMode.MODE_TINY_WINDOW})
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface PlayModeType{}
+
     /**
      * 播放视频缩放类型
      */

+ 1 - 1
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/inter/dev/OnPlayerTypeListener.java

@@ -36,6 +36,6 @@ public interface OnPlayerTypeListener {
      * int NORMAL = 103; 切换到正常播放监听
      * @param type                              类型
      */
-    void onPlayerPattern(@ConstantKeys.PlayerPatternType int type);
+    void onPlayerPattern(@ConstantKeys.PlayMode int type);
 
 }

+ 1 - 1
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/inter/dev/OnVideoControlListener.java → VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/inter/dev/OnVideoControlListener2.java

@@ -27,7 +27,7 @@ import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
  *     revise:
  * </pre>
  */
-public interface OnVideoControlListener {
+public interface OnVideoControlListener2 {
 
     /**
      * 视频顶部点击事件【下载,切换音频,分享等】

+ 58 - 0
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/OnVideoStateListener.java

@@ -0,0 +1,58 @@
+/*
+Copyright 2017 yangchong211(github.com/yangchong211)
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+package org.yczbj.ycvideoplayerlib.player;
+
+
+import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
+
+/**
+ * <pre>
+ *     @author yangchong
+ *     blog  : https://github.com/yangchong211
+ *     time  : 2017/11/9
+ *     desc  : 视频播放器状态监听
+ *     revise:
+ * </pre>
+ */
+public interface OnVideoStateListener {
+
+    /**
+     * 播放模式
+     * 普通模式,小窗口模式,正常模式三种其中一种
+     * MODE_NORMAL              普通模式
+     * MODE_FULL_SCREEN         全屏模式
+     * MODE_TINY_WINDOW         小屏模式
+     * @param playerState                       播放模式
+     */
+    void onPlayerStateChanged(@ConstantKeys.PlayModeType int playerState);
+
+    /**
+     * 播放状态
+     * -1               播放错误
+     * 0                播放未开始
+     * 1                播放准备中
+     * 2                播放准备就绪
+     * 3                正在播放
+     * 4                暂停播放
+     * 5                正在缓冲(播放器正在播放时,缓冲区数据不足,进行缓冲,缓冲区数据足够后恢复播放)
+     * 6                暂停缓冲(播放器正在播放时,缓冲区数据不足,进行缓冲,此时暂停播放器,继续缓冲,缓冲区数据足够后恢复暂停
+     * 7                播放完成
+     * 8                开始播放中止
+     * @param playState                         播放状态,主要是指播放器的各种状态
+     */
+    void onPlayStateChanged(@ConstantKeys.CurrentStateType int playState);
+    
+}

+ 37 - 69
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/VideoPlayer.java

@@ -1,6 +1,5 @@
 package org.yczbj.ycvideoplayerlib.player;
 
-import android.app.Activity;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.res.AssetFileDescriptor;
@@ -75,15 +74,24 @@ public class VideoPlayer<P extends AbstractPlayer> extends FrameLayout
     protected ISurfaceView mRenderView;
     protected SurfaceViewFactory mRenderViewFactory;
     protected int mCurrentScreenScaleType;
-
     protected int[] mVideoSize = {0, 0};
+    /**
+     * 是否静音
+     */
+    protected boolean mIsMute;
 
-    protected boolean mIsMute;//是否静音
-
-    //--------- data sources ---------//
-    protected String mUrl;//当前播放视频的地址
-    protected Map<String, String> mHeaders;//当前视频地址的请求头
-    protected AssetFileDescriptor mAssetFileDescriptor;//assets文件
+    /**
+     * 当前播放视频的地址
+     */
+    protected String mUrl;
+    /**
+     * 当前视频地址的请求头
+     */
+    protected Map<String, String> mHeaders;
+    /**
+     * assets文件
+     */
+    protected AssetFileDescriptor mAssetFileDescriptor;
     /**
      * 当前正在播放视频的位置
      */
@@ -117,7 +125,7 @@ public class VideoPlayer<P extends AbstractPlayer> extends FrameLayout
     /**
      * OnStateChangeListener集合,保存了所有开发者设置的监听器
      */
-    protected List<OnStateChangeListener> mOnStateChangeListeners;
+    protected List<OnVideoStateListener> mOnStateChangeListeners;
 
     /**
      * 进度管理器,设置之后播放器会记录播放进度,以便下次播放恢复进度
@@ -744,7 +752,7 @@ public class VideoPlayer<P extends AbstractPlayer> extends FrameLayout
         if (mIsFullScreen){
             return;
         }
-        ViewGroup decorView = getDecorView();
+        ViewGroup decorView = VideoPlayerHelper.instance().getDecorView(mContext,mVideoController);
         if (decorView == null){
             return;
         }
@@ -767,7 +775,7 @@ public class VideoPlayer<P extends AbstractPlayer> extends FrameLayout
             uiOptions |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
         }
         decorView.setSystemUiVisibility(uiOptions);
-        getActivity().getWindow().setFlags(
+        VideoPlayerHelper.instance().getActivity(mContext,mVideoController).getWindow().setFlags(
                 WindowManager.LayoutParams.FLAG_FULLSCREEN,
                 WindowManager.LayoutParams.FLAG_FULLSCREEN);
     }
@@ -777,7 +785,7 @@ public class VideoPlayer<P extends AbstractPlayer> extends FrameLayout
         super.onWindowFocusChanged(hasWindowFocus);
         if (hasWindowFocus && mIsFullScreen) {
             //重新获得焦点时保持全屏状态
-            hideSysBar(getDecorView());
+            hideSysBar(VideoPlayerHelper.instance().getDecorView(mContext,mVideoController));
         }
     }
 
@@ -786,10 +794,10 @@ public class VideoPlayer<P extends AbstractPlayer> extends FrameLayout
      */
     @Override
     public void stopFullScreen() {
-        if (!mIsFullScreen)
+        if (!mIsFullScreen){
             return;
-
-        ViewGroup decorView = getDecorView();
+        }
+        ViewGroup decorView = VideoPlayerHelper.instance().getDecorView(mContext,mVideoController);
         if (decorView == null)
             return;
 
@@ -814,42 +822,10 @@ public class VideoPlayer<P extends AbstractPlayer> extends FrameLayout
             uiOptions &= ~View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
         }
         decorView.setSystemUiVisibility(uiOptions);
-        getActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
+        VideoPlayerHelper.instance().getActivity(mContext,mVideoController)
+                .getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
     }
 
-    /**
-     * 获取DecorView
-     */
-    protected ViewGroup getDecorView() {
-        Activity activity = getActivity();
-        if (activity == null) return null;
-        return (ViewGroup) activity.getWindow().getDecorView();
-    }
-
-    /**
-     * 获取activity中的content view,其id为android.R.id.content
-     */
-    protected ViewGroup getContentView() {
-        Activity activity = getActivity();
-        if (activity == null) return null;
-        return activity.findViewById(android.R.id.content);
-    }
-
-    /**
-     * 获取Activity,优先通过Controller去获取Activity
-     */
-    protected Activity getActivity() {
-        Activity activity;
-        if (mVideoController != null) {
-            activity = PlayerUtils.scanForActivity(mVideoController.getContext());
-            if (activity == null) {
-                activity = PlayerUtils.scanForActivity(getContext());
-            }
-        } else {
-            activity = PlayerUtils.scanForActivity(getContext());
-        }
-        return activity;
-    }
 
     /**
      * 判断是否处于全屏状态
@@ -864,7 +840,7 @@ public class VideoPlayer<P extends AbstractPlayer> extends FrameLayout
      */
     public void startTinyScreen() {
         if (mIsTinyScreen) return;
-        ViewGroup contentView = getContentView();
+        ViewGroup contentView = VideoPlayerHelper.instance().getContentView(mContext,mVideoController);
         if (contentView == null) return;
         this.removeView(mPlayerContainer);
         int width = mTinyScreenSize[0];
@@ -888,7 +864,7 @@ public class VideoPlayer<P extends AbstractPlayer> extends FrameLayout
     public void stopTinyScreen() {
         if (!mIsTinyScreen) return;
 
-        ViewGroup contentView = getContentView();
+        ViewGroup contentView = VideoPlayerHelper.instance().getContentView(mContext,mVideoController);
         if (contentView == null) return;
         contentView.removeView(mPlayerContainer);
         LayoutParams params = new LayoutParams(
@@ -994,13 +970,13 @@ public class VideoPlayer<P extends AbstractPlayer> extends FrameLayout
     /**
      * 向Controller设置播放状态,用于控制Controller的ui展示
      */
-    protected void setPlayState(int playState) {
+    protected void setPlayState(@ConstantKeys.CurrentStateType int playState) {
         mCurrentPlayState = playState;
         if (mVideoController != null) {
             mVideoController.setPlayState(playState);
         }
         if (mOnStateChangeListeners != null) {
-            for (OnStateChangeListener l : PlayerUtils.getSnapshot(mOnStateChangeListeners)) {
+            for (OnVideoStateListener l : PlayerUtils.getSnapshot(mOnStateChangeListeners)) {
                 if (l != null) {
                     l.onPlayStateChanged(playState);
                 }
@@ -1011,13 +987,13 @@ public class VideoPlayer<P extends AbstractPlayer> extends FrameLayout
     /**
      * 向Controller设置播放器状态,包含全屏状态和非全屏状态
      */
-    protected void setPlayerState(int playerState) {
+    protected void setPlayerState(@ConstantKeys.PlayModeType int playerState) {
         mCurrentPlayerState = playerState;
         if (mVideoController != null) {
             mVideoController.setPlayerState(playerState);
         }
         if (mOnStateChangeListeners != null) {
-            for (OnStateChangeListener l : PlayerUtils.getSnapshot(mOnStateChangeListeners)) {
+            for (OnVideoStateListener l : PlayerUtils.getSnapshot(mOnStateChangeListeners)) {
                 if (l != null) {
                     l.onPlayerStateChanged(playerState);
                 }
@@ -1025,20 +1001,12 @@ public class VideoPlayer<P extends AbstractPlayer> extends FrameLayout
         }
     }
 
-    /**
-     * 播放状态改变监听器
-     */
-    public interface OnStateChangeListener {
-        void onPlayerStateChanged(int playerState);
-        void onPlayStateChanged(int playState);
-    }
-
     /**
      * OnStateChangeListener的空实现。用的时候只需要重写需要的方法
      */
-    public static class SimpleOnStateChangeListener implements OnStateChangeListener {
+    public static class SimpleOnStateChangeListener implements OnVideoStateListener {
         @Override
-        public void onPlayerStateChanged(int playerState) {}
+        public void onPlayerStateChanged(@ConstantKeys.PlayModeType int playerState) {}
         @Override
         public void onPlayStateChanged(int playState) {}
     }
@@ -1046,7 +1014,7 @@ public class VideoPlayer<P extends AbstractPlayer> extends FrameLayout
     /**
      * 添加一个播放状态监听器,播放状态发生变化时将会调用。
      */
-    public void addOnStateChangeListener(@NonNull OnStateChangeListener listener) {
+    public void addOnStateChangeListener(@NonNull OnVideoStateListener listener) {
         if (mOnStateChangeListeners == null) {
             mOnStateChangeListeners = new ArrayList<>();
         }
@@ -1056,7 +1024,7 @@ public class VideoPlayer<P extends AbstractPlayer> extends FrameLayout
     /**
      * 移除某个播放状态监听
      */
-    public void removeOnStateChangeListener(@NonNull OnStateChangeListener listener) {
+    public void removeOnStateChangeListener(@NonNull OnVideoStateListener listener) {
         if (mOnStateChangeListeners != null) {
             mOnStateChangeListeners.remove(listener);
         }
@@ -1064,9 +1032,9 @@ public class VideoPlayer<P extends AbstractPlayer> extends FrameLayout
 
     /**
      * 设置一个播放状态监听器,播放状态发生变化时将会调用,
-     * 如果你想同时设置多个监听器,推荐 {@link #addOnStateChangeListener(OnStateChangeListener)}。
+     * 如果你想同时设置多个监听器,推荐 {@link #addOnStateChangeListener(OnVideoStateListener)}。
      */
-    public void setOnStateChangeListener(@NonNull OnStateChangeListener listener) {
+    public void setOnStateChangeListener(@NonNull OnVideoStateListener listener) {
         if (mOnStateChangeListeners == null) {
             mOnStateChangeListeners = new ArrayList<>();
         } else {

+ 84 - 0
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/VideoPlayerHelper.java

@@ -0,0 +1,84 @@
+package org.yczbj.ycvideoplayerlib.player;
+
+import android.app.Activity;
+import android.content.Context;
+import android.view.ViewGroup;
+import org.yczbj.ycvideoplayerlib.controller.BaseVideoController;
+import org.yczbj.ycvideoplayerlib.tool.utils.PlayerUtils;
+
+public class VideoPlayerHelper {
+
+    private static VideoPlayerHelper sInstance;
+
+    /**
+     * 构造方法,避免直接new
+     */
+    private VideoPlayerHelper() {
+        //避免初始化
+    }
+
+
+    /**
+     * 一定要使用单例模式,保证同一时刻只有一个视频在播放,其他的都是初始状态
+     * 单例模式
+     * @return          VideoPlayerManager对象
+     */
+    public static VideoPlayerHelper instance() {
+        if (sInstance == null) {
+            synchronized (VideoPlayerHelper.class){
+                if (sInstance == null){
+                    sInstance = new VideoPlayerHelper();
+                }
+            }
+        }
+        return sInstance;
+    }
+
+    /**
+     * 获取DecorView
+     * @param context                               上下文
+     * @param videoController                       controller
+     */
+    protected ViewGroup getDecorView(Context context , BaseVideoController videoController) {
+        Activity activity = VideoPlayerHelper.instance().getActivity(context,videoController);
+        if (activity == null) {
+            return null;
+        }
+        return (ViewGroup) activity.getWindow().getDecorView();
+    }
+
+    /**
+     * 获取activity中的content view,其id为android.R.id.content
+     * @param context                               上下文
+     * @param videoController                       controller
+     */
+    protected ViewGroup getContentView(Context context , BaseVideoController videoController) {
+        Activity activity = VideoPlayerHelper.instance().getActivity(context,videoController);
+        if (activity == null) {
+            return null;
+        }
+        return activity.findViewById(android.R.id.content);
+    }
+
+
+    /**
+     * 获取Activity,优先通过Controller去获取Activity
+     * @param context                               上下文
+     * @param videoController                       controller
+     * @return
+     */
+    protected Activity getActivity(Context context , BaseVideoController videoController) {
+        Activity activity;
+        if (videoController != null) {
+            activity = PlayerUtils.scanForActivity(videoController.getContext());
+            if (activity == null) {
+                activity = PlayerUtils.scanForActivity(context);
+            }
+        } else {
+            activity = PlayerUtils.scanForActivity(context);
+        }
+        return activity;
+    }
+
+
+}

+ 6 - 6
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/view/controller/VideoPlayerController.java

@@ -48,7 +48,7 @@ import org.yczbj.ycvideoplayerlib.tool.receiver.NetChangedReceiver;
 import org.yczbj.ycvideoplayerlib.tool.utils.PlayerUtils;
 import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
 import org.yczbj.ycvideoplayerlib.inter.listener.OnClarityChangedListener;
-import org.yczbj.ycvideoplayerlib.inter.dev.OnVideoControlListener;
+import org.yczbj.ycvideoplayerlib.inter.dev.OnVideoControlListener2;
 import org.yczbj.ycvideoplayerlib.tool.toast.BaseToast;
 
 import java.text.SimpleDateFormat;
@@ -806,7 +806,7 @@ public class VideoPlayerController extends AbsVideoPlayerController implements V
                 unRegisterBatterReceiver();
                 mIsLock = false;
                 if (mOnPlayerTypeListener!=null){
-                    mOnPlayerTypeListener.onPlayerPattern(ConstantKeys.PlayerPatternType.NORMAL);
+                    mOnPlayerTypeListener.onPlayerPattern(ConstantKeys.PlayMode.MODE_NORMAL);
                 }
 
                 setTopBottomVisible(true);
@@ -828,7 +828,7 @@ public class VideoPlayerController extends AbsVideoPlayerController implements V
                 setTopBottomVisible(true);
                 registerBatterReceiver();
                 if (mOnPlayerTypeListener!=null){
-                    mOnPlayerTypeListener.onPlayerPattern(ConstantKeys.PlayerPatternType.FULL_SCREEN);
+                    mOnPlayerTypeListener.onPlayerPattern(ConstantKeys.PlayMode.MODE_FULL_SCREEN);
                 }
                 VideoLogUtils.d("播放模式--------全屏模式");
                 break;
@@ -839,7 +839,7 @@ public class VideoPlayerController extends AbsVideoPlayerController implements V
                 mFullScreen.setVisibility(View.VISIBLE);
                 mIsLock = false;
                 if (mOnPlayerTypeListener!=null){
-                    mOnPlayerTypeListener.onPlayerPattern(ConstantKeys.PlayerPatternType.TINY_WINDOW);
+                    mOnPlayerTypeListener.onPlayerPattern(ConstantKeys.PlayMode.MODE_TINY_WINDOW);
                 }
                 VideoLogUtils.d("播放模式--------小窗口模式");
                 break;
@@ -1269,8 +1269,8 @@ public class VideoPlayerController extends AbsVideoPlayerController implements V
     /**
      * 设置视频分享,下载,音视频转化点击事件
      */
-    private OnVideoControlListener mVideoControlListener;
-    public void setOnVideoControlListener(OnVideoControlListener listener){
+    private OnVideoControlListener2 mVideoControlListener;
+    public void setOnVideoControlListener(OnVideoControlListener2 listener){
         this.mVideoControlListener = listener;
     }
 

+ 2 - 2
app/src/main/java/org/yczbj/ycvideoplayer/TestFullActivity2.java

@@ -6,7 +6,7 @@ import android.widget.Button;
 import com.bumptech.glide.Glide;
 
 import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
-import org.yczbj.ycvideoplayerlib.inter.dev.OnVideoControlListener;
+import org.yczbj.ycvideoplayerlib.inter.dev.OnVideoControlListener2;
 import org.yczbj.ycvideoplayerlib.tool.manager.VideoPlayerManager;
 import org.yczbj.ycvideoplayerlib.view.controller.VideoPlayerController;
 import org.yczbj.ycvideoplayerlib.view.player.VideoPlayer;
@@ -75,7 +75,7 @@ public class TestFullActivity2 extends BaseActivity implements View.OnClickListe
         //设置中间播放按钮是否显示
         controller.setTopPadding(24.0f);
         controller.setTopVisibility(true);
-        controller.setOnVideoControlListener(new OnVideoControlListener() {
+        controller.setOnVideoControlListener(new OnVideoControlListener2() {
             @Override
             public void onVideoControlClick(int type) {
                 switch (type){

+ 2 - 2
app/src/main/java/org/yczbj/ycvideoplayer/TestNormalActivity.java

@@ -4,7 +4,7 @@ import android.widget.ImageView;
 
 import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
 import org.yczbj.ycvideoplayerlib.view.controller.VideoPlayerController;
-import org.yczbj.ycvideoplayerlib.inter.dev.OnVideoControlListener;
+import org.yczbj.ycvideoplayerlib.inter.dev.OnVideoControlListener2;
 import org.yczbj.ycvideoplayerlib.tool.manager.VideoPlayerManager;
 import org.yczbj.ycvideoplayerlib.view.player.VideoPlayer;
 
@@ -183,7 +183,7 @@ public class TestNormalActivity extends BaseActivity  {
         controller.setTvAndAudioVisibility(true,true);
 
         //设置视频分享,下载,音视频转化点击事件
-        controller.setOnVideoControlListener(new OnVideoControlListener() {
+        controller.setOnVideoControlListener(new OnVideoControlListener2() {
             @Override
             public void onVideoControlClick(int type) {
 

+ 2 - 2
app/src/main/java/org/yczbj/ycvideoplayer/TestSavePosActivity.java

@@ -4,7 +4,7 @@ import android.widget.ImageView;
 
 import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
 import org.yczbj.ycvideoplayerlib.view.controller.VideoPlayerController;
-import org.yczbj.ycvideoplayerlib.inter.dev.OnVideoControlListener;
+import org.yczbj.ycvideoplayerlib.inter.dev.OnVideoControlListener2;
 import org.yczbj.ycvideoplayerlib.tool.manager.VideoPlayerManager;
 import org.yczbj.ycvideoplayerlib.view.player.VideoPlayer;
 
@@ -182,7 +182,7 @@ public class TestSavePosActivity extends BaseActivity  {
         //设置横屏播放时,tv和audio图标是否显示
         controller.setTvAndAudioVisibility(true,true);
         //设置视频分享,下载,音视频转化点击事件
-        controller.setOnVideoControlListener(new OnVideoControlListener() {
+        controller.setOnVideoControlListener(new OnVideoControlListener2() {
             @Override
             public void onVideoControlClick(int type) {
 

+ 2 - 2
app/src/main/java/org/yczbj/ycvideoplayer/TestTinyActivity.java

@@ -8,7 +8,7 @@ import com.bumptech.glide.Glide;
 
 import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
 import org.yczbj.ycvideoplayerlib.view.controller.VideoPlayerController;
-import org.yczbj.ycvideoplayerlib.inter.dev.OnVideoControlListener;
+import org.yczbj.ycvideoplayerlib.inter.dev.OnVideoControlListener2;
 import org.yczbj.ycvideoplayerlib.tool.manager.VideoPlayerManager;
 import org.yczbj.ycvideoplayerlib.view.player.VideoPlayer;
 
@@ -65,7 +65,7 @@ public class TestTinyActivity extends BaseActivity implements View.OnClickListen
         controller.setTopPadding(24);
         //设置横屏播放时,tv和audio图标是否显示
         controller.setTvAndAudioVisibility(true,true);
-        controller.setOnVideoControlListener(new OnVideoControlListener() {
+        controller.setOnVideoControlListener(new OnVideoControlListener2() {
             @Override
             public void onVideoControlClick(int type) {
                 switch (type){

+ 5 - 2
read/01.视频播放器介绍文档.md

@@ -1,5 +1,6 @@
 # 音频相关知识点学习
 #### 目录介绍
+- 15.查看视频播放器日志
 
 
 
@@ -7,8 +8,10 @@
 
 
 
-
-
+### 15.查看视频播放器日志
+- 统一管理视频播放器封装库日志,方便后期排查问题
+    - 比如,视频内核,日志过滤则是:aaa
+    - 比如,视频player,日志过滤则是:bbb