Jelajahi Sumber

视频播放器内核封装成lib库

杨充 4 tahun lalu
induk
melakukan
1bbe098a56
72 mengubah file dengan 303 tambahan dan 150 penghapusan
  1. 1 2
      .idea/modules.xml
  2. 0 32
      VideoBarrage/build.gradle
  3. 1 2
      VideoCache/build.gradle
  4. 0 1
      VideoCache/src/main/java/com/yc/videocache/ByteArrayCache.java
  5. 0 1
      VideoCache/src/main/java/com/yc/videocache/ByteArraySource.java
  6. 0 1
      VideoCache/src/main/java/com/yc/videocache/Cache.java
  7. 0 2
      VideoCache/src/main/java/com/yc/videocache/CacheListener.java
  8. 0 1
      VideoCache/src/main/java/com/yc/videocache/GetRequest.java
  9. 0 2
      VideoCache/src/main/java/com/yc/videocache/HttpProxyCache.java
  10. 0 1
      VideoCache/src/main/java/com/yc/videocache/HttpProxyCacheServer.java
  11. 0 1
      VideoCache/src/main/java/com/yc/videocache/HttpProxyCacheServerClients.java
  12. 0 1
      VideoCache/src/main/java/com/yc/videocache/HttpUrlSource.java
  13. 0 1
      VideoCache/src/main/java/com/yc/videocache/IgnoreHostProxySelector.java
  14. 0 2
      VideoCache/src/main/java/com/yc/videocache/InterruptedProxyCacheException.java
  15. 0 2
      VideoCache/src/main/java/com/yc/videocache/Pinger.java
  16. 0 2
      VideoCache/src/main/java/com/yc/videocache/ProxyCache.java
  17. 0 2
      VideoCache/src/main/java/com/yc/videocache/ProxyCacheException.java
  18. 0 2
      VideoCache/src/main/java/com/yc/videocache/ProxyCacheUtils.java
  19. 0 2
      VideoCache/src/main/java/com/yc/videocache/Source.java
  20. 0 2
      VideoCache/src/main/java/com/yc/videocache/SourceInfo.java
  21. 0 1
      VideoCache/src/main/java/com/yc/videocache/file/Files.java
  22. 0 1
      VideoCache/src/main/java/com/yc/videocache/file/LruDiskUsage.java
  23. 0 1
      VideoCache/src/main/java/com/yc/videocache/file/Md5FileNameGenerator.java
  24. 0 1
      VideoCache/src/main/java/com/yc/videocache/file/TotalCountLruDiskUsage.java
  25. 0 2
      VideoCache/src/main/java/com/yc/videocache/file/TotalSizeLruDiskUsage.java
  26. 0 1
      VideoCache/src/main/java/com/yc/videocache/file/UnlimitedDiskUsage.java
  27. 0 2
      VideoCache/src/main/java/com/yc/videocache/headers/EmptyHeadersInjector.java
  28. 0 1
      VideoCache/src/main/java/com/yc/videocache/headers/HeaderInjector.java
  29. 0 1
      VideoCache/src/main/java/com/yc/videocache/sourcestorage/DatabaseSourceInfoStorage.java
  30. 0 1
      VideoCache/src/main/java/com/yc/videocache/sourcestorage/NoSourceInfoStorage.java
  31. 0 2
      VideoCache/src/main/java/com/yc/videocache/sourcestorage/SourceInfoStorage.java
  32. 0 1
      VideoCache/src/main/java/com/yc/videocache/sourcestorage/SourceInfoStorageFactory.java
  33. 0 0
      VideoKernel/.gitignore
  34. 157 0
      VideoKernel/build.gradle
  35. 0 0
      VideoKernel/consumer-rules.pro
  36. 6 1
      VideoKernel/proguard-rules.pro
  37. 2 2
      VideoKernel/src/main/AndroidManifest.xml
  38. 2 2
      VideoKernel/src/main/java/com/yc/kernel/factory/PlayerFactory.java
  39. 7 7
      VideoKernel/src/main/java/com/yc/kernel/impl/exo/ExoMediaPlayer.java
  40. 1 1
      VideoKernel/src/main/java/com/yc/kernel/impl/exo/ExoMediaSourceHelper.java
  41. 2 2
      VideoKernel/src/main/java/com/yc/kernel/impl/exo/ExoPlayerFactory.java
  42. 2 2
      VideoKernel/src/main/java/com/yc/kernel/impl/ijk/IjkPlayerFactory.java
  43. 7 7
      VideoKernel/src/main/java/com/yc/kernel/impl/ijk/IjkVideoPlayer.java
  44. 1 1
      VideoKernel/src/main/java/com/yc/kernel/impl/ijk/RawDataSourceProvider.java
  45. 5 5
      VideoKernel/src/main/java/com/yc/kernel/impl/media/AndroidMediaPlayer.java
  46. 2 2
      VideoKernel/src/main/java/com/yc/kernel/impl/media/MediaPlayerFactory.java
  47. 29 2
      VideoKernel/src/main/java/com/yc/kernel/inter/AbstractPlayer.java
  48. 5 1
      VideoKernel/src/main/java/com/yc/kernel/utils/VideoLogUtils.java
  49. 3 0
      VideoPlayer/build.gradle
  50. 1 1
      VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/controller/BaseVideoController.java
  51. 2 2
      VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/config/VideoViewConfig.java
  52. 1 1
      VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/manager/VideoViewManager.java
  53. 11 3
      VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/render/IRenderView.java
  54. 1 1
      VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/render/TextureRenderView.java
  55. 23 8
      VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/video/VideoView.java
  56. 1 1
      VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/tool/receiver/BatterReceiver.java
  57. 1 1
      VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/tool/receiver/NetChangedReceiver.java
  58. 2 1
      VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/ui/surface/VideoTextureView.java
  59. 2 1
      VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/ui/window/FloatPlayerView.java
  60. 2 1
      VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/view/controller/VideoPlayerController.java
  61. 2 1
      VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/view/player/VideoMediaPlayer.java
  62. 2 1
      VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/view/player/VideoPlayer.java
  63. 1 0
      app/build.gradle
  64. 3 2
      app/src/main/java/org/yczbj/ycvideoplayer/BaseApplication.java
  65. 1 1
      app/src/main/java/org/yczbj/ycvideoplayer/TestWindowActivity.java
  66. 4 4
      app/src/main/java/org/yczbj/ycvideoplayer/activity/TypeActivity.java
  67. 2 1
      app/src/main/java/org/yczbj/ycvideoplayer/list/PlayerMonitor.java
  68. 2 1
      app/src/main/java/org/yczbj/ycvideoplayer/surface/MySurfaceView.java
  69. 2 2
      app/src/main/java/org/yczbj/ycvideoplayer/tiktok/TikTok2Activity.java
  70. 1 1
      app/src/main/java/org/yczbj/ycvideoplayer/tiktok/TikTokRenderView.java
  71. 2 1
      app/src/main/java/org/yczbj/ycvideoplayer/tiktok/TikTokView.java
  72. 1 2
      settings.gradle

+ 1 - 2
.idea/modules.xml

@@ -3,10 +3,9 @@
   <component name="ProjectModuleManager">
   <component name="ProjectModuleManager">
     <modules>
     <modules>
       <module fileurl="file://$PROJECT_DIR$/GitHub-YCVideoPlayer.iml" filepath="$PROJECT_DIR$/GitHub-YCVideoPlayer.iml" group="YCVideoPlayer" />
       <module fileurl="file://$PROJECT_DIR$/GitHub-YCVideoPlayer.iml" filepath="$PROJECT_DIR$/GitHub-YCVideoPlayer.iml" group="YCVideoPlayer" />
-      <module fileurl="file://$PROJECT_DIR$/.idea/modules/VideoBarrage/VideoBarrage.iml" filepath="$PROJECT_DIR$/.idea/modules/VideoBarrage/VideoBarrage.iml" group="YCVideoPlayer/VideoBarrage" />
       <module fileurl="file://$PROJECT_DIR$/.idea/modules/VideoCache/VideoCache.iml" filepath="$PROJECT_DIR$/.idea/modules/VideoCache/VideoCache.iml" group="YCVideoPlayer/VideoCache" />
       <module fileurl="file://$PROJECT_DIR$/.idea/modules/VideoCache/VideoCache.iml" filepath="$PROJECT_DIR$/.idea/modules/VideoCache/VideoCache.iml" group="YCVideoPlayer/VideoCache" />
+      <module fileurl="file://$PROJECT_DIR$/.idea/modules/VideoBarrage/VideoKernel.iml" filepath="$PROJECT_DIR$/.idea/modules/VideoBarrage/VideoKernel.iml" group="YCVideoPlayer/VideoKernel" />
       <module fileurl="file://$PROJECT_DIR$/VideoPlayer/VideoPlayer.iml" filepath="$PROJECT_DIR$/VideoPlayer/VideoPlayer.iml" group="YCVideoPlayer/VideoPlayer" />
       <module fileurl="file://$PROJECT_DIR$/VideoPlayer/VideoPlayer.iml" filepath="$PROJECT_DIR$/VideoPlayer/VideoPlayer.iml" group="YCVideoPlayer/VideoPlayer" />
-      <module fileurl="file://$PROJECT_DIR$/.idea/modules/VideoUi/VideoUi.iml" filepath="$PROJECT_DIR$/.idea/modules/VideoUi/VideoUi.iml" group="YCVideoPlayer/VideoUi" />
       <module fileurl="file://$PROJECT_DIR$/.idea/YCVideoPlayer.iml" filepath="$PROJECT_DIR$/.idea/YCVideoPlayer.iml" />
       <module fileurl="file://$PROJECT_DIR$/.idea/YCVideoPlayer.iml" filepath="$PROJECT_DIR$/.idea/YCVideoPlayer.iml" />
       <module fileurl="file://$PROJECT_DIR$/app/YCVideoPlayer-app.iml" filepath="$PROJECT_DIR$/app/YCVideoPlayer-app.iml" group="YCVideoPlayer/app" />
       <module fileurl="file://$PROJECT_DIR$/app/YCVideoPlayer-app.iml" filepath="$PROJECT_DIR$/app/YCVideoPlayer-app.iml" group="YCVideoPlayer/app" />
       <module fileurl="file://$PROJECT_DIR$/VideoPlayer/YCVideoPlayerLib.iml" filepath="$PROJECT_DIR$/VideoPlayer/YCVideoPlayerLib.iml" />
       <module fileurl="file://$PROJECT_DIR$/VideoPlayer/YCVideoPlayerLib.iml" filepath="$PROJECT_DIR$/VideoPlayer/YCVideoPlayerLib.iml" />

+ 0 - 32
VideoBarrage/build.gradle

@@ -1,32 +0,0 @@
-apply plugin: 'com.android.library'
-
-android {
-    compileSdkVersion 29
-    buildToolsVersion "29.0.3"
-
-    defaultConfig {
-        minSdkVersion 17
-        targetSdkVersion 29
-        versionCode 1
-        versionName "1.0"
-
-        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
-        consumerProguardFiles "consumer-rules.pro"
-    }
-
-    buildTypes {
-        release {
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
-        }
-    }
-}
-
-dependencies {
-    implementation fileTree(dir: "libs", include: ["*.jar"])
-    implementation 'androidx.appcompat:appcompat:1.2.0'
-    testImplementation 'junit:junit:4.12'
-    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
-    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
-
-}

+ 1 - 2
VideoCache/build.gradle

@@ -24,7 +24,6 @@ android {
 
 
 dependencies {
 dependencies {
     implementation fileTree(dir: "libs", include: ["*.jar"])
     implementation fileTree(dir: "libs", include: ["*.jar"])
-    implementation 'androidx.appcompat:appcompat:1.2.0'
 }
 }
 
 
 
 
@@ -42,7 +41,7 @@ group = "cn.yc"
 //发布到JCenter上的项目名字,必须填写
 //发布到JCenter上的项目名字,必须填写
 def libName = "YCVideoCacheLib"
 def libName = "YCVideoCacheLib"
 // 版本号,下次更新是只需要更改版本号即可
 // 版本号,下次更新是只需要更改版本号即可
-version = "1.0.0"
+version = "1.0.1"
 /**  上面配置后上传至jcenter后的编译路径是这样的: compile 'cn.yc:YCVideoCacheLib:1.0.0'  **/
 /**  上面配置后上传至jcenter后的编译路径是这样的: compile 'cn.yc:YCVideoCacheLib:1.0.0'  **/
 
 
 //生成源文件
 //生成源文件

+ 0 - 1
VideoCache/src/main/java/com/yc/videocache/ByteArrayCache.java

@@ -6,7 +6,6 @@ import java.util.Arrays;
 /**
 /**
  * Simple memory based {@link Cache} implementation.
  * Simple memory based {@link Cache} implementation.
  *
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 public class ByteArrayCache implements Cache {
 public class ByteArrayCache implements Cache {
 
 

+ 0 - 1
VideoCache/src/main/java/com/yc/videocache/ByteArraySource.java

@@ -5,7 +5,6 @@ import java.io.ByteArrayInputStream;
 /**
 /**
  * Simple memory based {@link Source} implementation.
  * Simple memory based {@link Source} implementation.
  *
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 public class ByteArraySource implements Source {
 public class ByteArraySource implements Source {
 
 

+ 0 - 1
VideoCache/src/main/java/com/yc/videocache/Cache.java

@@ -3,7 +3,6 @@ package com.yc.videocache;
 /**
 /**
  * Cache for proxy.
  * Cache for proxy.
  *
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 public interface Cache {
 public interface Cache {
 
 

+ 0 - 2
VideoCache/src/main/java/com/yc/videocache/CacheListener.java

@@ -5,8 +5,6 @@ import java.io.File;
 /**
 /**
  * Listener for cache availability.
  * Listener for cache availability.
  *
  *
- * @author Egor Makovsky (yahor.makouski@gmail.com)
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 public interface CacheListener {
 public interface CacheListener {
 
 

+ 0 - 1
VideoCache/src/main/java/com/yc/videocache/GetRequest.java

@@ -14,7 +14,6 @@ import static com.yc.videocache.Preconditions.checkNotNull;
 /**
 /**
  * Model for Http GET request.
  * Model for Http GET request.
  *
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 class GetRequest {
 class GetRequest {
 
 

+ 0 - 2
VideoCache/src/main/java/com/yc/videocache/HttpProxyCache.java

@@ -14,8 +14,6 @@ import static com.yc.videocache.ProxyCacheUtils.DEFAULT_BUFFER_SIZE;
 
 
 /**
 /**
  * {@link ProxyCache} that read http url and writes data to {@link Socket}
  * {@link ProxyCache} that read http url and writes data to {@link Socket}
- *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 class HttpProxyCache extends ProxyCache {
 class HttpProxyCache extends ProxyCache {
 
 

+ 0 - 1
VideoCache/src/main/java/com/yc/videocache/HttpProxyCacheServer.java

@@ -46,7 +46,6 @@ import static com.yc.videocache.Preconditions.checkNotNull;
  * }
  * }
  * </code></pre>
  * </code></pre>
  *
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 public class HttpProxyCacheServer {
 public class HttpProxyCacheServer {
 
 

+ 0 - 1
VideoCache/src/main/java/com/yc/videocache/HttpProxyCacheServerClients.java

@@ -18,7 +18,6 @@ import static com.yc.videocache.Preconditions.checkNotNull;
 /**
 /**
  * Client for {@link HttpProxyCacheServer}
  * Client for {@link HttpProxyCacheServer}
  *
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 final class HttpProxyCacheServerClients {
 final class HttpProxyCacheServerClients {
 
 

+ 0 - 1
VideoCache/src/main/java/com/yc/videocache/HttpUrlSource.java

@@ -26,7 +26,6 @@ import static java.net.HttpURLConnection.HTTP_SEE_OTHER;
 /**
 /**
  * {@link Source} that uses http resource as source for {@link ProxyCache}.
  * {@link Source} that uses http resource as source for {@link ProxyCache}.
  *
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 public class HttpUrlSource implements Source {
 public class HttpUrlSource implements Source {
 
 

+ 0 - 1
VideoCache/src/main/java/com/yc/videocache/IgnoreHostProxySelector.java

@@ -15,7 +15,6 @@ import static com.yc.videocache.Preconditions.checkNotNull;
  * <p>
  * <p>
  * It is important to <a href="https://github.com/danikula/AndroidVideoCache/issues/28">ignore system proxy</a> for localhost connection.
  * It is important to <a href="https://github.com/danikula/AndroidVideoCache/issues/28">ignore system proxy</a> for localhost connection.
  *
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 class IgnoreHostProxySelector extends ProxySelector {
 class IgnoreHostProxySelector extends ProxySelector {
 
 

+ 0 - 2
VideoCache/src/main/java/com/yc/videocache/InterruptedProxyCacheException.java

@@ -2,8 +2,6 @@ package com.yc.videocache;
 
 
 /**
 /**
  * Indicates interruption error in work of {@link ProxyCache} fired by user.
  * Indicates interruption error in work of {@link ProxyCache} fired by user.
- *
- * @author Alexey Danilov
  */
  */
 public class InterruptedProxyCacheException extends ProxyCacheException {
 public class InterruptedProxyCacheException extends ProxyCacheException {
 
 

+ 0 - 2
VideoCache/src/main/java/com/yc/videocache/Pinger.java

@@ -23,8 +23,6 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS;
 
 
 /**
 /**
  * Pings {@link HttpProxyCacheServer} to make sure it works.
  * Pings {@link HttpProxyCacheServer} to make sure it works.
- *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 
 
 class Pinger {
 class Pinger {

+ 0 - 2
VideoCache/src/main/java/com/yc/videocache/ProxyCache.java

@@ -10,8 +10,6 @@ import static com.yc.videocache.Preconditions.checkNotNull;
  * Can be used only for sources with persistent data (that doesn't change with time).
  * Can be used only for sources with persistent data (that doesn't change with time).
  * Method {@link #read(byte[], long, int)} will be blocked while fetching data from source.
  * Method {@link #read(byte[], long, int)} will be blocked while fetching data from source.
  * Useful for streaming something with caching e.g. streaming video/audio etc.
  * Useful for streaming something with caching e.g. streaming video/audio etc.
- *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 class ProxyCache {
 class ProxyCache {
 
 

+ 0 - 2
VideoCache/src/main/java/com/yc/videocache/ProxyCacheException.java

@@ -2,8 +2,6 @@ package com.yc.videocache;
 
 
 /**
 /**
  * Indicates any error in work of {@link ProxyCache}.
  * Indicates any error in work of {@link ProxyCache}.
- *
- * @author Alexey Danilov
  */
  */
 public class ProxyCacheException extends Exception {
 public class ProxyCacheException extends Exception {
 
 

+ 0 - 2
VideoCache/src/main/java/com/yc/videocache/ProxyCacheUtils.java

@@ -17,8 +17,6 @@ import static com.yc.videocache.Preconditions.checkNotNull;
 
 
 /**
 /**
  * Just simple utils.
  * Just simple utils.
- *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 public class ProxyCacheUtils {
 public class ProxyCacheUtils {
 
 

+ 0 - 2
VideoCache/src/main/java/com/yc/videocache/Source.java

@@ -2,8 +2,6 @@ package com.yc.videocache;
 
 
 /**
 /**
  * Source for proxy.
  * Source for proxy.
- *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 public interface Source {
 public interface Source {
 
 

+ 0 - 2
VideoCache/src/main/java/com/yc/videocache/SourceInfo.java

@@ -2,8 +2,6 @@ package com.yc.videocache;
 
 
 /**
 /**
  * Stores source's info.
  * Stores source's info.
- *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 public class SourceInfo {
 public class SourceInfo {
 
 

+ 0 - 1
VideoCache/src/main/java/com/yc/videocache/file/Files.java

@@ -15,7 +15,6 @@ import java.util.List;
 /**
 /**
  * Utils for work with files.
  * Utils for work with files.
  *
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 class Files {
 class Files {
 
 

+ 0 - 1
VideoCache/src/main/java/com/yc/videocache/file/LruDiskUsage.java

@@ -12,7 +12,6 @@ import java.util.concurrent.Executors;
 /**
 /**
  * {@link DiskUsage} that uses LRU (Least Recently Used) strategy to trim cache.
  * {@link DiskUsage} that uses LRU (Least Recently Used) strategy to trim cache.
  *
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 public abstract class LruDiskUsage implements DiskUsage {
 public abstract class LruDiskUsage implements DiskUsage {
 
 

+ 0 - 1
VideoCache/src/main/java/com/yc/videocache/file/Md5FileNameGenerator.java

@@ -7,7 +7,6 @@ import com.yc.videocache.ProxyCacheUtils;
 /**
 /**
  * Implementation of {@link FileNameGenerator} that uses MD5 of url as file name
  * Implementation of {@link FileNameGenerator} that uses MD5 of url as file name
  *
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 public class Md5FileNameGenerator implements FileNameGenerator {
 public class Md5FileNameGenerator implements FileNameGenerator {
 
 

+ 0 - 1
VideoCache/src/main/java/com/yc/videocache/file/TotalCountLruDiskUsage.java

@@ -5,7 +5,6 @@ import java.io.File;
 /**
 /**
  * {@link DiskUsage} that uses LRU (Least Recently Used) strategy and trims cache size to max files count if needed.
  * {@link DiskUsage} that uses LRU (Least Recently Used) strategy and trims cache size to max files count if needed.
  *
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 public class TotalCountLruDiskUsage extends LruDiskUsage {
 public class TotalCountLruDiskUsage extends LruDiskUsage {
 
 

+ 0 - 2
VideoCache/src/main/java/com/yc/videocache/file/TotalSizeLruDiskUsage.java

@@ -4,8 +4,6 @@ import java.io.File;
 
 
 /**
 /**
  * {@link DiskUsage} that uses LRU (Least Recently Used) strategy and trims cache size to max size if needed.
  * {@link DiskUsage} that uses LRU (Least Recently Used) strategy and trims cache size to max size if needed.
- *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 public class TotalSizeLruDiskUsage extends LruDiskUsage {
 public class TotalSizeLruDiskUsage extends LruDiskUsage {
 
 

+ 0 - 1
VideoCache/src/main/java/com/yc/videocache/file/UnlimitedDiskUsage.java

@@ -6,7 +6,6 @@ import java.io.IOException;
 /**
 /**
  * Unlimited version of {@link DiskUsage}.
  * Unlimited version of {@link DiskUsage}.
  *
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 public class UnlimitedDiskUsage implements DiskUsage {
 public class UnlimitedDiskUsage implements DiskUsage {
 
 

+ 0 - 2
VideoCache/src/main/java/com/yc/videocache/headers/EmptyHeadersInjector.java

@@ -5,8 +5,6 @@ import java.util.Map;
 
 
 /**
 /**
  * Empty {@link HeaderInjector} implementation.
  * Empty {@link HeaderInjector} implementation.
- *
- * @author Lucas Nelaupe (https://github.com/lucas34).
  */
  */
 public class EmptyHeadersInjector implements HeaderInjector {
 public class EmptyHeadersInjector implements HeaderInjector {
 
 

+ 0 - 1
VideoCache/src/main/java/com/yc/videocache/headers/HeaderInjector.java

@@ -5,7 +5,6 @@ import java.util.Map;
 /**
 /**
  * Allows to add custom headers to server's requests.
  * Allows to add custom headers to server's requests.
  *
  *
- * @author Lucas Nelaupe (https://github.com/lucas34).
  */
  */
 public interface HeaderInjector {
 public interface HeaderInjector {
 
 

+ 0 - 1
VideoCache/src/main/java/com/yc/videocache/sourcestorage/DatabaseSourceInfoStorage.java

@@ -14,7 +14,6 @@ import static com.yc.videocache.Preconditions.checkNotNull;
 /**
 /**
  * Database based {@link SourceInfoStorage}.
  * Database based {@link SourceInfoStorage}.
  *
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 class DatabaseSourceInfoStorage extends SQLiteOpenHelper implements SourceInfoStorage {
 class DatabaseSourceInfoStorage extends SQLiteOpenHelper implements SourceInfoStorage {
 
 

+ 0 - 1
VideoCache/src/main/java/com/yc/videocache/sourcestorage/NoSourceInfoStorage.java

@@ -5,7 +5,6 @@ import com.yc.videocache.SourceInfo;
 /**
 /**
  * {@link SourceInfoStorage} that does nothing.
  * {@link SourceInfoStorage} that does nothing.
  *
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 public class NoSourceInfoStorage implements SourceInfoStorage {
 public class NoSourceInfoStorage implements SourceInfoStorage {
 
 

+ 0 - 2
VideoCache/src/main/java/com/yc/videocache/sourcestorage/SourceInfoStorage.java

@@ -4,8 +4,6 @@ import com.yc.videocache.SourceInfo;
 
 
 /**
 /**
  * Storage for {@link SourceInfo}.
  * Storage for {@link SourceInfo}.
- *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 public interface SourceInfoStorage {
 public interface SourceInfoStorage {
 
 

+ 0 - 1
VideoCache/src/main/java/com/yc/videocache/sourcestorage/SourceInfoStorageFactory.java

@@ -5,7 +5,6 @@ import android.content.Context;
 /**
 /**
  * Simple factory for {@link SourceInfoStorage}.
  * Simple factory for {@link SourceInfoStorage}.
  *
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
  */
 public class SourceInfoStorageFactory {
 public class SourceInfoStorageFactory {
 
 

+ 0 - 0
VideoBarrage/.gitignore → VideoKernel/.gitignore


+ 157 - 0
VideoKernel/build.gradle

@@ -0,0 +1,157 @@
+apply plugin: 'com.android.library'
+
+android {
+    compileSdkVersion 29
+    buildToolsVersion "29.0.0"
+
+    defaultConfig {
+        minSdkVersion 17
+        targetSdkVersion 29
+        versionCode 1
+        versionName "1.0"
+    }
+
+    buildTypes {
+        release {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+        }
+    }
+}
+
+dependencies {
+    implementation fileTree(dir: "libs", include: ["*.jar"])
+    //这两个是必须要加的,其它的可供选择
+    implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
+    implementation 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.4'
+    //其他库文件
+    //implementation 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.8'
+    //implementation 'tv.danmaku.ijk.media:ijkplayer-arm64:0.8.8'
+    //implementation 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.8'
+    //implementation 'tv.danmaku.ijk.media:ijkplayer-x86_64:0.8.8'
+
+
+    //谷歌播放器
+    implementation  "com.google.android.exoplayer:exoplayer:2.11.3"
+    implementation "com.google.android.exoplayer:exoplayer-core:2.11.3"
+    implementation "com.google.android.exoplayer:exoplayer-dash:2.11.3"
+    implementation "com.google.android.exoplayer:exoplayer-hls:2.11.3"
+    implementation "com.google.android.exoplayer:exoplayer-smoothstreaming:2.11.3"
+    implementation "com.google.android.exoplayer:extension-rtmp:2.11.3"
+}
+
+
+/** 以下开始是将Android Library上传到jcenter的相关配置**/
+apply plugin: 'com.github.dcendents.android-maven'
+apply plugin: 'com.jfrog.bintray'
+
+//项目主页
+def siteUrl = 'https://github.com/yangchong211/YCVideoPlayer'    // project homepage
+//项目的版本控制地址
+def gitUrl = 'https://github.com/yangchong211/YCVideoPlayer.git' // project git
+
+//发布到组织名称名字,必须填写
+group = "cn.yc"
+//发布到JCenter上的项目名字,必须填写
+def libName = "YCVideoKernelLib"
+// 版本号,下次更新是只需要更改版本号即可
+version = "1.0.0"
+/**  上面配置后上传至jcenter后的编译路径是这样的: compile 'cn.yc:YCVideoKernelLib:1.0.0'  **/
+
+//生成源文件
+task sourcesJar(type: Jar) {
+    from android.sourceSets.main.java.srcDirs
+    classifier = 'sources'
+}
+//生成文档
+task javadoc(type: Javadoc) {
+    source = android.sourceSets.main.java.srcDirs
+    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
+    options.encoding "UTF-8"
+    options.charSet 'UTF-8'
+    options.author true
+    options.version true
+    options.links "https://github.com/linglongxin24/FastDev/tree/master/mylibrary/docs/javadoc"
+    failOnError false
+}
+
+//文档打包成jar
+task javadocJar(type: Jar, dependsOn: javadoc) {
+    classifier = 'javadoc'
+    from javadoc.destinationDir
+}
+//拷贝javadoc文件
+task copyDoc(type: Copy) {
+    from "${buildDir}/docs/"
+    into "docs"
+}
+
+//上传到jcenter所需要的源码文件
+artifacts {
+    archives javadocJar
+    archives sourcesJar
+}
+
+// 配置maven库,生成POM.xml文件
+install {
+    repositories.mavenInstaller {
+        // This generates POM.xml with proper parameters
+        pom {
+            project {
+                packaging 'aar'
+                //项目描述,自由填写
+                name 'This is video kernel lib'
+                url siteUrl
+                licenses {
+                    license {
+                        //开源协议
+                        name 'The Apache Software License, Version 2.0'
+                        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+                    }
+                }
+                developers {
+                    developer {
+                        //开发者的个人信息,根据个人信息填写
+                        id 'yangchong'
+                        name 'yc'
+                        email 'yangchong211@163.com'
+                    }
+                }
+                scm {
+                    connection gitUrl
+                    developerConnection gitUrl
+                    url siteUrl
+                }
+            }
+        }
+    }
+}
+
+//上传到jcenter
+Properties properties = new Properties()
+properties.load(project.rootProject.file('local.properties').newDataInputStream())
+bintray {
+    user = properties.getProperty("bintray.user")    //读取 local.properties 文件里面的 bintray.user
+    key = properties.getProperty("bintray.apikey")  //读取 local.properties 文件里面的 bintray.apikey
+    configurations = ['archives']
+    pkg {
+        repo = "maven"
+        name = libName    //发布到JCenter上的项目名字,必须填写
+        desc = 'android video kernel'    //项目描述
+        websiteUrl = siteUrl
+        vcsUrl = gitUrl
+        licenses = ["Apache-2.0"]
+        publish = true
+    }
+}
+
+javadoc {
+    options {
+        //如果你的项目里面有中文注释的话,必须将格式设置为UTF-8,不然会出现乱码
+        encoding "UTF-8"
+        charSet 'UTF-8'
+        author true
+        version true
+        links "http://docs.oracle.com/javase/7/docs/api"
+    }
+}

+ 0 - 0
VideoBarrage/consumer-rules.pro → VideoKernel/consumer-rules.pro


+ 6 - 1
VideoBarrage/proguard-rules.pro → VideoKernel/proguard-rules.pro

@@ -18,4 +18,9 @@
 
 
 # If you keep the line number information, uncomment this to
 # If you keep the line number information, uncomment this to
 # hide the original source file name.
 # hide the original source file name.
-#-renamesourcefileattribute SourceFile
+#-renamesourcefileattribute SourceFile
+
+
+# 播放器视频内核
+-keep class com.yc.kernel.** { *; }
+-keepnames class com.yc.kernel.** { *; }

+ 2 - 2
VideoBarrage/src/main/AndroidManifest.xml → VideoKernel/src/main/AndroidManifest.xml

@@ -1,5 +1,5 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.zwwl.videobarrage">
+    package="com.yc.kernel">
+
 
 
-    /
 </manifest>
 </manifest>

+ 2 - 2
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/factory/PlayerFactory.java → VideoKernel/src/main/java/com/yc/kernel/factory/PlayerFactory.java

@@ -1,8 +1,8 @@
-package org.yczbj.ycvideoplayerlib.player.factory;
+package com.yc.kernel.factory;
 
 
 import android.content.Context;
 import android.content.Context;
 
 
-import org.yczbj.ycvideoplayerlib.player.inter.AbstractPlayer;
+import com.yc.kernel.inter.AbstractPlayer;
 
 
 
 
 /**
 /**

+ 7 - 7
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/impl/exo/ExoMediaPlayer.java → VideoKernel/src/main/java/com/yc/kernel/impl/exo/ExoMediaPlayer.java

@@ -1,4 +1,4 @@
-package org.yczbj.ycvideoplayerlib.player.impl.exo;
+package com.yc.kernel.impl.exo;
 
 
 import android.app.Application;
 import android.app.Application;
 import android.content.Context;
 import android.content.Context;
@@ -15,7 +15,6 @@ import com.google.android.exoplayer2.PlaybackParameters;
 import com.google.android.exoplayer2.Player;
 import com.google.android.exoplayer2.Player;
 import com.google.android.exoplayer2.RenderersFactory;
 import com.google.android.exoplayer2.RenderersFactory;
 import com.google.android.exoplayer2.SimpleExoPlayer;
 import com.google.android.exoplayer2.SimpleExoPlayer;
-import com.google.android.exoplayer2.Timeline;
 import com.google.android.exoplayer2.analytics.AnalyticsCollector;
 import com.google.android.exoplayer2.analytics.AnalyticsCollector;
 import com.google.android.exoplayer2.source.MediaSource;
 import com.google.android.exoplayer2.source.MediaSource;
 import com.google.android.exoplayer2.source.MediaSourceEventListener;
 import com.google.android.exoplayer2.source.MediaSourceEventListener;
@@ -27,9 +26,8 @@ import com.google.android.exoplayer2.util.Clock;
 import com.google.android.exoplayer2.util.EventLogger;
 import com.google.android.exoplayer2.util.EventLogger;
 import com.google.android.exoplayer2.util.Util;
 import com.google.android.exoplayer2.util.Util;
 import com.google.android.exoplayer2.video.VideoListener;
 import com.google.android.exoplayer2.video.VideoListener;
-import org.yczbj.ycvideoplayerlib.player.inter.AbstractPlayer;
-import org.yczbj.ycvideoplayerlib.player.manager.VideoViewManager;
-import org.yczbj.ycvideoplayerlib.tool.toast.BaseToast;
+import com.yc.kernel.inter.AbstractPlayer;
+import com.yc.kernel.utils.VideoLogUtils;
 
 
 import java.util.Map;
 import java.util.Map;
 
 
@@ -83,7 +81,7 @@ public class ExoMediaPlayer extends AbstractPlayer implements VideoListener, Pla
         setOptions();
         setOptions();
 
 
         //播放器日志
         //播放器日志
-        if (VideoViewManager.getConfig().mIsEnableLog && mTrackSelector instanceof MappingTrackSelector) {
+        if (VideoLogUtils.isIsLog() && mTrackSelector instanceof MappingTrackSelector) {
             mInternalPlayer.addAnalyticsListener(new EventLogger((MappingTrackSelector) mTrackSelector, "ExoPlayer"));
             mInternalPlayer.addAnalyticsListener(new EventLogger((MappingTrackSelector) mTrackSelector, "ExoPlayer"));
         }
         }
         initListener();
         initListener();
@@ -119,7 +117,9 @@ public class ExoMediaPlayer extends AbstractPlayer implements VideoListener, Pla
     public void setDataSource(String path, Map<String, String> headers) {
     public void setDataSource(String path, Map<String, String> headers) {
         // 设置dataSource
         // 设置dataSource
         if(path==null || path.length()==0){
         if(path==null || path.length()==0){
-            BaseToast.showRoundRectToast("视频链接不能为空");
+            if (mPlayerEventListener!=null){
+                mPlayerEventListener.onInfo(MEDIA_INFO_URL_NULL, 0);
+            }
             return;
             return;
         }
         }
         mMediaSource = mMediaSourceHelper.getMediaSource(path, headers);
         mMediaSource = mMediaSourceHelper.getMediaSource(path, headers);

+ 1 - 1
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/impl/exo/ExoMediaSourceHelper.java → VideoKernel/src/main/java/com/yc/kernel/impl/exo/ExoMediaSourceHelper.java

@@ -1,4 +1,4 @@
-package org.yczbj.ycvideoplayerlib.player.impl.exo;
+package com.yc.kernel.impl.exo;
 
 
 import android.app.Application;
 import android.app.Application;
 import android.content.Context;
 import android.content.Context;

+ 2 - 2
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/impl/exo/ExoPlayerFactory.java → VideoKernel/src/main/java/com/yc/kernel/impl/exo/ExoPlayerFactory.java

@@ -1,8 +1,8 @@
-package org.yczbj.ycvideoplayerlib.player.impl.exo;
+package com.yc.kernel.impl.exo;
 
 
 import android.content.Context;
 import android.content.Context;
 
 
-import org.yczbj.ycvideoplayerlib.player.factory.PlayerFactory;
+import com.yc.kernel.factory.PlayerFactory;
 
 
 /**
 /**
  * <pre>
  * <pre>

+ 2 - 2
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/impl/ijk/IjkPlayerFactory.java → VideoKernel/src/main/java/com/yc/kernel/impl/ijk/IjkPlayerFactory.java

@@ -13,9 +13,9 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 See the License for the specific language governing permissions and
 limitations under the License.
 limitations under the License.
 */
 */
-package org.yczbj.ycvideoplayerlib.player.impl.ijk;
+package com.yc.kernel.impl.ijk;
 import android.content.Context;
 import android.content.Context;
-import org.yczbj.ycvideoplayerlib.player.factory.PlayerFactory;
+import com.yc.kernel.factory.PlayerFactory;
 
 
 
 
 /**
 /**

+ 7 - 7
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/impl/ijk/IjkVideoPlayer.java → VideoKernel/src/main/java/com/yc/kernel/impl/ijk/IjkVideoPlayer.java

@@ -13,7 +13,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 See the License for the specific language governing permissions and
 limitations under the License.
 limitations under the License.
 */
 */
-package org.yczbj.ycvideoplayerlib.player.impl.ijk;
+package com.yc.kernel.impl.ijk;
 
 
 import android.app.Application;
 import android.app.Application;
 import android.content.ContentResolver;
 import android.content.ContentResolver;
@@ -25,10 +25,8 @@ import android.os.Bundle;
 import android.text.TextUtils;
 import android.text.TextUtils;
 import android.view.Surface;
 import android.view.Surface;
 import android.view.SurfaceHolder;
 import android.view.SurfaceHolder;
-import org.yczbj.ycvideoplayerlib.player.inter.AbstractPlayer;
-import org.yczbj.ycvideoplayerlib.player.manager.VideoViewManager;
-import org.yczbj.ycvideoplayerlib.tool.toast.BaseToast;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
+import com.yc.kernel.inter.AbstractPlayer;
+import com.yc.kernel.utils.VideoLogUtils;
 
 
 import java.util.Map;
 import java.util.Map;
 import tv.danmaku.ijk.media.player.IMediaPlayer;
 import tv.danmaku.ijk.media.player.IMediaPlayer;
@@ -62,7 +60,7 @@ public class IjkVideoPlayer extends AbstractPlayer {
     public void initPlayer() {
     public void initPlayer() {
         mMediaPlayer = new IjkMediaPlayer();
         mMediaPlayer = new IjkMediaPlayer();
         //native日志
         //native日志
-        IjkMediaPlayer.native_setLogLevel(VideoViewManager.getConfig().mIsEnableLog
+        IjkMediaPlayer.native_setLogLevel(VideoLogUtils.isIsLog()
                 ? IjkMediaPlayer.IJK_LOG_INFO : IjkMediaPlayer.IJK_LOG_SILENT);
                 ? IjkMediaPlayer.IJK_LOG_INFO : IjkMediaPlayer.IJK_LOG_SILENT);
         setOptions();
         setOptions();
         mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
         mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
@@ -154,7 +152,9 @@ public class IjkVideoPlayer extends AbstractPlayer {
     public void setDataSource(String path, Map<String, String> headers) {
     public void setDataSource(String path, Map<String, String> headers) {
         // 设置dataSource
         // 设置dataSource
         if(path==null || path.length()==0){
         if(path==null || path.length()==0){
-            BaseToast.showRoundRectToast("视频链接不能为空");
+            if (mPlayerEventListener!=null){
+                mPlayerEventListener.onInfo(MEDIA_INFO_URL_NULL, 0);
+            }
             return;
             return;
         }
         }
         try {
         try {

+ 1 - 1
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/impl/ijk/RawDataSourceProvider.java → VideoKernel/src/main/java/com/yc/kernel/impl/ijk/RawDataSourceProvider.java

@@ -13,7 +13,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 See the License for the specific language governing permissions and
 limitations under the License.
 limitations under the License.
 */
 */
-package org.yczbj.ycvideoplayerlib.player.impl.ijk;
+package com.yc.kernel.impl.ijk;
 
 
 import android.content.Context;
 import android.content.Context;
 import android.content.res.AssetFileDescriptor;
 import android.content.res.AssetFileDescriptor;

+ 5 - 5
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/impl/media/AndroidMediaPlayer.java → VideoKernel/src/main/java/com/yc/kernel/impl/media/AndroidMediaPlayer.java

@@ -13,7 +13,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 See the License for the specific language governing permissions and
 limitations under the License.
 limitations under the License.
 */
 */
-package org.yczbj.ycvideoplayerlib.player.impl.media;
+package com.yc.kernel.impl.media;
 
 
 import android.app.Application;
 import android.app.Application;
 import android.content.Context;
 import android.content.Context;
@@ -24,9 +24,7 @@ import android.net.Uri;
 import android.os.Build;
 import android.os.Build;
 import android.view.Surface;
 import android.view.Surface;
 import android.view.SurfaceHolder;
 import android.view.SurfaceHolder;
-import org.yczbj.ycvideoplayerlib.player.inter.AbstractPlayer;
-import org.yczbj.ycvideoplayerlib.tool.toast.BaseToast;
-
+import com.yc.kernel.inter.AbstractPlayer;
 import java.util.Map;
 import java.util.Map;
 
 
 
 
@@ -84,7 +82,9 @@ public class AndroidMediaPlayer extends AbstractPlayer {
     public void setDataSource(String path, Map<String, String> headers) {
     public void setDataSource(String path, Map<String, String> headers) {
         // 设置dataSource
         // 设置dataSource
         if(path==null || path.length()==0){
         if(path==null || path.length()==0){
-            BaseToast.showRoundRectToast("视频链接不能为空");
+            if (mPlayerEventListener!=null){
+                mPlayerEventListener.onInfo(MEDIA_INFO_URL_NULL, 0);
+            }
             return;
             return;
         }
         }
         try {
         try {

+ 2 - 2
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/impl/media/MediaPlayerFactory.java → VideoKernel/src/main/java/com/yc/kernel/impl/media/MediaPlayerFactory.java

@@ -13,11 +13,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 See the License for the specific language governing permissions and
 limitations under the License.
 limitations under the License.
 */
 */
-package org.yczbj.ycvideoplayerlib.player.impl.media;
+package com.yc.kernel.impl.media;
 
 
 import android.content.Context;
 import android.content.Context;
 
 
-import org.yczbj.ycvideoplayerlib.player.factory.PlayerFactory;
+import com.yc.kernel.factory.PlayerFactory;
 
 
 
 
 /**
 /**

+ 29 - 2
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/inter/AbstractPlayer.java → VideoKernel/src/main/java/com/yc/kernel/inter/AbstractPlayer.java

@@ -1,4 +1,19 @@
-package org.yczbj.ycvideoplayerlib.player.inter;
+/*
+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 com.yc.kernel.inter;
 
 
 import android.content.res.AssetFileDescriptor;
 import android.content.res.AssetFileDescriptor;
 import android.view.Surface;
 import android.view.Surface;
@@ -6,11 +21,23 @@ import android.view.SurfaceHolder;
 
 
 import java.util.Map;
 import java.util.Map;
 
 
+
 /**
 /**
- * 抽象的播放器,继承此接口扩展自己的播放器
+ * <pre>
+ *     @author yangchong
+ *     blog  : https://github.com/yangchong211
+ *     time  : 2018/11/9
+ *     desc  : 抽象的播放器
+ *     revise:
+ * </pre>
  */
  */
 public abstract class AbstractPlayer {
 public abstract class AbstractPlayer {
 
 
+    /**
+     * 视频传入url为空
+     */
+    public static final int MEDIA_INFO_URL_NULL = -1;
+
     /**
     /**
      * 开始渲染视频画面
      * 开始渲染视频画面
      */
      */

+ 5 - 1
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/tool/utils/VideoLogUtils.java → VideoKernel/src/main/java/com/yc/kernel/utils/VideoLogUtils.java

@@ -13,7 +13,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 See the License for the specific language governing permissions and
 limitations under the License.
 limitations under the License.
 */
 */
-package org.yczbj.ycvideoplayerlib.tool.utils;
+package com.yc.kernel.utils;
 
 
 import android.util.Log;
 import android.util.Log;
 
 
@@ -39,6 +39,10 @@ public final class VideoLogUtils {
         VideoLogUtils.isLog = isLog;
         VideoLogUtils.isLog = isLog;
     }
     }
 
 
+    public static boolean isIsLog() {
+        return isLog;
+    }
+
     public static void d(String message) {
     public static void d(String message) {
         if(isLog){
         if(isLog){
             Log.d(TAG, message);
             Log.d(TAG, message);

+ 3 - 0
VideoPlayer/build.gradle

@@ -23,6 +23,9 @@ dependencies {
     implementation 'androidx.appcompat:appcompat:1.2.0'
     implementation 'androidx.appcompat:appcompat:1.2.0'
     implementation 'androidx.annotation:annotation:1.1.0'
     implementation 'androidx.annotation:annotation:1.1.0'
     implementation 'androidx.cardview:cardview:1.0.0'
     implementation 'androidx.cardview:cardview:1.0.0'
+
+    implementation project(':VideoKernel')
+
     //这两个是必须要加的,其它的可供选择
     //这两个是必须要加的,其它的可供选择
     implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
     implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
     implementation 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.4'
     implementation 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.4'

+ 1 - 1
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/controller/BaseVideoController.java

@@ -22,7 +22,7 @@ import org.yczbj.ycvideoplayerlib.player.video.VideoView;
 import org.yczbj.ycvideoplayerlib.tool.utils.StatesCutoutUtils;
 import org.yczbj.ycvideoplayerlib.tool.utils.StatesCutoutUtils;
 import org.yczbj.ycvideoplayerlib.tool.utils.NetworkUtils;
 import org.yczbj.ycvideoplayerlib.tool.utils.NetworkUtils;
 import org.yczbj.ycvideoplayerlib.tool.utils.PlayerUtils;
 import org.yczbj.ycvideoplayerlib.tool.utils.PlayerUtils;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
+import com.yc.kernel.utils.VideoLogUtils;
 
 
 import java.util.Iterator;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.LinkedHashMap;

+ 2 - 2
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/config/VideoViewConfig.java

@@ -3,8 +3,8 @@ package org.yczbj.ycvideoplayerlib.player.config;
 
 
 import androidx.annotation.Nullable;
 import androidx.annotation.Nullable;
 
 
-import org.yczbj.ycvideoplayerlib.player.factory.PlayerFactory;
-import org.yczbj.ycvideoplayerlib.player.impl.media.MediaPlayerFactory;
+import com.yc.kernel.factory.PlayerFactory;
+import com.yc.kernel.impl.media.MediaPlayerFactory;
 import org.yczbj.ycvideoplayerlib.player.manager.ProgressManager;
 import org.yczbj.ycvideoplayerlib.player.manager.ProgressManager;
 import org.yczbj.ycvideoplayerlib.player.render.RenderViewFactory;
 import org.yczbj.ycvideoplayerlib.player.render.RenderViewFactory;
 import org.yczbj.ycvideoplayerlib.player.render.TextureRenderViewFactory;
 import org.yczbj.ycvideoplayerlib.player.render.TextureRenderViewFactory;

+ 1 - 1
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/manager/VideoViewManager.java

@@ -4,7 +4,7 @@ import android.app.Application;
 
 
 import org.yczbj.ycvideoplayerlib.player.config.VideoViewConfig;
 import org.yczbj.ycvideoplayerlib.player.config.VideoViewConfig;
 import org.yczbj.ycvideoplayerlib.player.video.VideoView;
 import org.yczbj.ycvideoplayerlib.player.video.VideoView;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
+import com.yc.kernel.utils.VideoLogUtils;
 
 
 import java.util.LinkedHashMap;
 import java.util.LinkedHashMap;
 
 

+ 11 - 3
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/render/IRenderView.java

@@ -5,9 +5,17 @@ import android.view.View;
 
 
 import androidx.annotation.NonNull;
 import androidx.annotation.NonNull;
 
 
-import org.yczbj.ycvideoplayerlib.player.inter.AbstractPlayer;
-
-
+import com.yc.kernel.inter.AbstractPlayer;
+
+/**
+ * <pre>
+ *     @author yangchong
+ *     blog  : https://github.com/yangchong211
+ *     time  : 2018/11/9
+ *     desc  : 自定义渲染view接口
+ *     revise:
+ * </pre>
+ */
 public interface IRenderView {
 public interface IRenderView {
 
 
     /**
     /**

+ 1 - 1
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/render/TextureRenderView.java

@@ -11,7 +11,7 @@ import android.view.View;
 import androidx.annotation.NonNull;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.Nullable;
 
 
-import org.yczbj.ycvideoplayerlib.player.inter.AbstractPlayer;
+import com.yc.kernel.inter.AbstractPlayer;
 
 
 
 
 @SuppressLint("ViewConstructor")
 @SuppressLint("ViewConstructor")

+ 23 - 8
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/player/video/VideoView.java

@@ -24,32 +24,47 @@ import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
 import org.yczbj.ycvideoplayerlib.controller.BaseVideoController;
 import org.yczbj.ycvideoplayerlib.controller.BaseVideoController;
 import org.yczbj.ycvideoplayerlib.controller.MediaPlayerControl;
 import org.yczbj.ycvideoplayerlib.controller.MediaPlayerControl;
 import org.yczbj.ycvideoplayerlib.player.audio.AudioFocusHelper;
 import org.yczbj.ycvideoplayerlib.player.audio.AudioFocusHelper;
-import org.yczbj.ycvideoplayerlib.player.inter.AbstractPlayer;
-import org.yczbj.ycvideoplayerlib.player.factory.PlayerFactory;
+import com.yc.kernel.inter.AbstractPlayer;
+import com.yc.kernel.factory.PlayerFactory;
 import org.yczbj.ycvideoplayerlib.player.manager.ProgressManager;
 import org.yczbj.ycvideoplayerlib.player.manager.ProgressManager;
 import org.yczbj.ycvideoplayerlib.player.config.VideoViewConfig;
 import org.yczbj.ycvideoplayerlib.player.config.VideoViewConfig;
 import org.yczbj.ycvideoplayerlib.player.manager.VideoViewManager;
 import org.yczbj.ycvideoplayerlib.player.manager.VideoViewManager;
 import org.yczbj.ycvideoplayerlib.player.render.IRenderView;
 import org.yczbj.ycvideoplayerlib.player.render.IRenderView;
 import org.yczbj.ycvideoplayerlib.player.render.RenderViewFactory;
 import org.yczbj.ycvideoplayerlib.player.render.RenderViewFactory;
 import org.yczbj.ycvideoplayerlib.tool.utils.PlayerUtils;
 import org.yczbj.ycvideoplayerlib.tool.utils.PlayerUtils;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
+import com.yc.kernel.utils.VideoLogUtils;
 
 
 import java.io.IOException;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
+
 /**
 /**
- * 播放器
+ * <pre>
+ *     @author yangchong
+ *     blog  : https://github.com/yangchong211
+ *     time  : 2018/11/9
+ *     desc  : 播放器具体实现类
+ *     revise:
+ * </pre>
  */
  */
-
 public class VideoView<P extends AbstractPlayer> extends FrameLayout
 public class VideoView<P extends AbstractPlayer> extends FrameLayout
         implements MediaPlayerControl, AbstractPlayer.PlayerEventListener {
         implements MediaPlayerControl, AbstractPlayer.PlayerEventListener {
 
 
-    protected P mMediaPlayer;//播放器
-    protected PlayerFactory<P> mPlayerFactory;//工厂类,用于实例化播放核心
+    /**
+     * 播放器
+     */
+    protected P mMediaPlayer;
+    /**
+     * 实例化播放核心
+     */
+    protected PlayerFactory<P> mPlayerFactory;
+    /**
+     * 控制器
+     */
     @Nullable
     @Nullable
-    protected BaseVideoController mVideoController;//控制器
+    protected BaseVideoController mVideoController;
 
 
     /**
     /**
      * 真正承载播放器视图的容器
      * 真正承载播放器视图的容器

+ 1 - 1
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/tool/receiver/BatterReceiver.java

@@ -25,7 +25,7 @@ import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
 import org.yczbj.ycvideoplayerlib.view.controller.AbsVideoPlayerController;
 import org.yczbj.ycvideoplayerlib.view.controller.AbsVideoPlayerController;
 import org.yczbj.ycvideoplayerlib.tool.manager.VideoPlayerManager;
 import org.yczbj.ycvideoplayerlib.tool.manager.VideoPlayerManager;
 import org.yczbj.ycvideoplayerlib.view.player.VideoPlayer;
 import org.yczbj.ycvideoplayerlib.view.player.VideoPlayer;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
+import com.yc.kernel.utils.VideoLogUtils;
 
 
 /**
 /**
  * <pre>
  * <pre>

+ 1 - 1
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/tool/receiver/NetChangedReceiver.java

@@ -25,7 +25,7 @@ import org.yczbj.ycvideoplayerlib.view.controller.AbsVideoPlayerController;
 import org.yczbj.ycvideoplayerlib.tool.manager.VideoPlayerManager;
 import org.yczbj.ycvideoplayerlib.tool.manager.VideoPlayerManager;
 import org.yczbj.ycvideoplayerlib.view.player.VideoPlayer;
 import org.yczbj.ycvideoplayerlib.view.player.VideoPlayer;
 import org.yczbj.ycvideoplayerlib.tool.utils.NetworkUtils;
 import org.yczbj.ycvideoplayerlib.tool.utils.NetworkUtils;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
+import com.yc.kernel.utils.VideoLogUtils;
 
 
 /**
 /**
  * <pre>
  * <pre>

+ 2 - 1
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/ui/surface/VideoTextureView.java

@@ -24,8 +24,9 @@ import android.view.TextureView;
 import android.view.ViewGroup;
 import android.view.ViewGroup;
 import android.widget.FrameLayout;
 import android.widget.FrameLayout;
 
 
+import com.yc.kernel.utils.VideoLogUtils;
+
 import org.yczbj.ycvideoplayerlib.inter.listener.OnTextureListener;
 import org.yczbj.ycvideoplayerlib.inter.listener.OnTextureListener;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
 
 
 
 
 /**
 /**

+ 2 - 1
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/ui/window/FloatPlayerView.java

@@ -7,13 +7,14 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View;
 import android.widget.FrameLayout;
 import android.widget.FrameLayout;
 
 
+import com.yc.kernel.utils.VideoLogUtils;
+
 import org.yczbj.ycvideoplayerlib.R;
 import org.yczbj.ycvideoplayerlib.R;
 import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
 import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
 import org.yczbj.ycvideoplayerlib.view.controller.VideoPlayerController;
 import org.yczbj.ycvideoplayerlib.view.controller.VideoPlayerController;
 import org.yczbj.ycvideoplayerlib.inter.dev.OnPlayerStatesListener;
 import org.yczbj.ycvideoplayerlib.inter.dev.OnPlayerStatesListener;
 import org.yczbj.ycvideoplayerlib.tool.manager.VideoPlayerManager;
 import org.yczbj.ycvideoplayerlib.tool.manager.VideoPlayerManager;
 import org.yczbj.ycvideoplayerlib.view.player.VideoPlayer;
 import org.yczbj.ycvideoplayerlib.view.player.VideoPlayer;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
 
 
 
 
 /**
 /**

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

@@ -35,6 +35,8 @@ import android.widget.TextView;
 import androidx.annotation.DrawableRes;
 import androidx.annotation.DrawableRes;
 import androidx.annotation.IntRange;
 import androidx.annotation.IntRange;
 
 
+import com.yc.kernel.utils.VideoLogUtils;
+
 import org.yczbj.ycvideoplayerlib.config.VideoInfoBean;
 import org.yczbj.ycvideoplayerlib.config.VideoInfoBean;
 import org.yczbj.ycvideoplayerlib.ui.dialog.ChangeClarityDialog;
 import org.yczbj.ycvideoplayerlib.ui.dialog.ChangeClarityDialog;
 import org.yczbj.ycvideoplayerlib.R;
 import org.yczbj.ycvideoplayerlib.R;
@@ -43,7 +45,6 @@ import org.yczbj.ycvideoplayerlib.inter.dev.OnPlayerTypeListener;
 import org.yczbj.ycvideoplayerlib.view.player.VideoPlayer;
 import org.yczbj.ycvideoplayerlib.view.player.VideoPlayer;
 import org.yczbj.ycvideoplayerlib.tool.receiver.BatterReceiver;
 import org.yczbj.ycvideoplayerlib.tool.receiver.BatterReceiver;
 import org.yczbj.ycvideoplayerlib.tool.receiver.NetChangedReceiver;
 import org.yczbj.ycvideoplayerlib.tool.receiver.NetChangedReceiver;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
 import org.yczbj.ycvideoplayerlib.tool.utils.PlayerUtils;
 import org.yczbj.ycvideoplayerlib.tool.utils.PlayerUtils;
 import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
 import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
 import org.yczbj.ycvideoplayerlib.inter.listener.OnClarityChangedListener;
 import org.yczbj.ycvideoplayerlib.inter.listener.OnClarityChangedListener;

+ 2 - 1
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/view/player/VideoMediaPlayer.java

@@ -9,9 +9,10 @@ import android.view.Surface;
 
 
 import androidx.annotation.RequiresApi;
 import androidx.annotation.RequiresApi;
 
 
+import com.yc.kernel.utils.VideoLogUtils;
+
 import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
 import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
 import org.yczbj.ycvideoplayerlib.inter.listener.OnTextureListener;
 import org.yczbj.ycvideoplayerlib.inter.listener.OnTextureListener;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
 import org.yczbj.ycvideoplayerlib.tool.utils.PlayerUtils;
 import org.yczbj.ycvideoplayerlib.tool.utils.PlayerUtils;
 import org.yczbj.ycvideoplayerlib.tool.toast.BaseToast;
 import org.yczbj.ycvideoplayerlib.tool.toast.BaseToast;
 import org.yczbj.ycvideoplayerlib.ui.surface.VideoTextureView;
 import org.yczbj.ycvideoplayerlib.ui.surface.VideoTextureView;

+ 2 - 1
VideoPlayer/src/main/java/org/yczbj/ycvideoplayerlib/view/player/VideoPlayer.java

@@ -28,8 +28,9 @@ import android.view.KeyEvent;
 import android.view.ViewGroup;
 import android.view.ViewGroup;
 import android.widget.FrameLayout;
 import android.widget.FrameLayout;
 
 
+import com.yc.kernel.utils.VideoLogUtils;
+
 import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
 import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
 import org.yczbj.ycvideoplayerlib.view.controller.AbsVideoPlayerController;
 import org.yczbj.ycvideoplayerlib.view.controller.AbsVideoPlayerController;
 import org.yczbj.ycvideoplayerlib.inter.player.InterPropertyVideoPlayer;
 import org.yczbj.ycvideoplayerlib.inter.player.InterPropertyVideoPlayer;
 import org.yczbj.ycvideoplayerlib.inter.player.InterScreenVideoPlayer;
 import org.yczbj.ycvideoplayerlib.inter.player.InterScreenVideoPlayer;

+ 1 - 0
app/build.gradle

@@ -59,6 +59,7 @@ dependencies {
 //    implementation 'cn.yc:YCVideoPlayerLib:2.6.6'                            //播放器
 //    implementation 'cn.yc:YCVideoPlayerLib:2.6.6'                            //播放器
     implementation project(':VideoCache')
     implementation project(':VideoCache')
     implementation project(':VideoPlayer')
     implementation project(':VideoPlayer')
+    implementation project(':VideoKernel')
     implementation 'cn.yc:YCStatusBarLib:1.4.0'
     implementation 'cn.yc:YCStatusBarLib:1.4.0'
  //状态栏
  //状态栏
 }
 }

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

@@ -6,11 +6,12 @@ import android.content.res.Configuration;
 import android.util.Log;
 import android.util.Log;
 
 
 
 
-import org.yczbj.ycvideoplayerlib.player.impl.ijk.IjkPlayerFactory;
+import com.yc.kernel.impl.ijk.IjkPlayerFactory;
+import com.yc.kernel.utils.VideoLogUtils;
+
 import org.yczbj.ycvideoplayerlib.player.config.VideoViewConfig;
 import org.yczbj.ycvideoplayerlib.player.config.VideoViewConfig;
 import org.yczbj.ycvideoplayerlib.player.manager.VideoViewManager;
 import org.yczbj.ycvideoplayerlib.player.manager.VideoViewManager;
 import org.yczbj.ycvideoplayerlib.tool.toast.BaseToast;
 import org.yczbj.ycvideoplayerlib.tool.toast.BaseToast;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
 
 
 /**
 /**
  * ================================================
  * ================================================

+ 1 - 1
app/src/main/java/org/yczbj/ycvideoplayer/TestWindowActivity.java

@@ -12,8 +12,8 @@ import androidx.annotation.RequiresApi;
 
 
 import org.yczbj.ycvideoplayer.tiny.TestFullActivity;
 import org.yczbj.ycvideoplayer.tiny.TestFullActivity;
 import org.yczbj.ycvideoplayerlib.tool.manager.VideoPlayerManager;
 import org.yczbj.ycvideoplayerlib.tool.manager.VideoPlayerManager;
-import org.yczbj.ycvideoplayerlib.view.player.VideoPlayer;
 import org.yczbj.ycvideoplayerlib.ui.window.FloatPlayerView;
 import org.yczbj.ycvideoplayerlib.ui.window.FloatPlayerView;
+import org.yczbj.ycvideoplayerlib.view.player.VideoPlayer;
 import org.yczbj.ycvideoplayerlib.ui.window.FloatWindow;
 import org.yczbj.ycvideoplayerlib.ui.window.FloatWindow;
 import org.yczbj.ycvideoplayerlib.ui.window.MoveType;
 import org.yczbj.ycvideoplayerlib.ui.window.MoveType;
 import org.yczbj.ycvideoplayerlib.ui.window.WindowScreen;
 import org.yczbj.ycvideoplayerlib.ui.window.WindowScreen;

+ 4 - 4
app/src/main/java/org/yczbj/ycvideoplayer/activity/TypeActivity.java

@@ -20,10 +20,10 @@ import org.yczbj.ycvideoplayer.surface.TestSurfaceActivity;
 import org.yczbj.ycvideoplayer.tiny.TestFullActivity;
 import org.yczbj.ycvideoplayer.tiny.TestFullActivity;
 import org.yczbj.ycvideoplayer.tiny.TinyScreenActivity;
 import org.yczbj.ycvideoplayer.tiny.TinyScreenActivity;
 import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
 import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
-import org.yczbj.ycvideoplayerlib.player.impl.exo.ExoPlayerFactory;
-import org.yczbj.ycvideoplayerlib.player.impl.ijk.IjkPlayerFactory;
-import org.yczbj.ycvideoplayerlib.player.impl.media.MediaPlayerFactory;
-import org.yczbj.ycvideoplayerlib.player.factory.PlayerFactory;
+import com.yc.kernel.impl.exo.ExoPlayerFactory;
+import com.yc.kernel.impl.ijk.IjkPlayerFactory;
+import com.yc.kernel.impl.media.MediaPlayerFactory;
+import com.yc.kernel.factory.PlayerFactory;
 import org.yczbj.ycvideoplayerlib.player.config.VideoViewConfig;
 import org.yczbj.ycvideoplayerlib.player.config.VideoViewConfig;
 import org.yczbj.ycvideoplayerlib.player.manager.VideoViewManager;
 import org.yczbj.ycvideoplayerlib.player.manager.VideoViewManager;
 import org.yczbj.ycvideoplayerlib.tool.toast.BaseToast;
 import org.yczbj.ycvideoplayerlib.tool.toast.BaseToast;

+ 2 - 1
app/src/main/java/org/yczbj/ycvideoplayer/list/PlayerMonitor.java

@@ -5,10 +5,11 @@ import android.view.animation.Animation;
 
 
 import androidx.annotation.NonNull;
 import androidx.annotation.NonNull;
 
 
+import com.yc.kernel.utils.VideoLogUtils;
+
 import org.yczbj.ycvideoplayerlib.controller.ControlWrapper;
 import org.yczbj.ycvideoplayerlib.controller.ControlWrapper;
 import org.yczbj.ycvideoplayerlib.controller.IControlComponent;
 import org.yczbj.ycvideoplayerlib.controller.IControlComponent;
 import org.yczbj.ycvideoplayerlib.tool.utils.PlayerUtils;
 import org.yczbj.ycvideoplayerlib.tool.utils.PlayerUtils;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
 
 
 
 
 public class PlayerMonitor implements IControlComponent {
 public class PlayerMonitor implements IControlComponent {

+ 2 - 1
app/src/main/java/org/yczbj/ycvideoplayer/surface/MySurfaceView.java

@@ -12,8 +12,9 @@ import android.view.SurfaceView;
 import android.view.KeyEvent;
 import android.view.KeyEvent;
 import android.view.MotionEvent;
 import android.view.MotionEvent;
 
 
+import com.yc.kernel.utils.VideoLogUtils;
+
 import org.yczbj.ycvideoplayer.R;
 import org.yczbj.ycvideoplayer.R;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
 
 
 public class MySurfaceView extends SurfaceView implements Runnable, SurfaceHolder.Callback {
 public class MySurfaceView extends SurfaceView implements Runnable, SurfaceHolder.Callback {
 
 

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

@@ -9,6 +9,8 @@ import androidx.annotation.Nullable;
 import androidx.appcompat.app.AppCompatActivity;
 import androidx.appcompat.app.AppCompatActivity;
 import androidx.viewpager.widget.ViewPager;
 import androidx.viewpager.widget.ViewPager;
 
 
+import com.yc.kernel.utils.VideoLogUtils;
+
 import org.yczbj.ycvideoplayer.ConstantVideo;
 import org.yczbj.ycvideoplayer.ConstantVideo;
 import org.yczbj.ycvideoplayer.R;
 import org.yczbj.ycvideoplayer.R;
 import org.yczbj.ycvideoplayer.cache.PreloadManager;
 import org.yczbj.ycvideoplayer.cache.PreloadManager;
@@ -16,9 +18,7 @@ import org.yczbj.ycvideoplayer.cache.ProxyVideoCacheManager;
 import org.yczbj.ycvideoplayerlib.config.VideoInfoBean;
 import org.yczbj.ycvideoplayerlib.config.VideoInfoBean;
 import org.yczbj.ycvideoplayerlib.player.video.VideoView;
 import org.yczbj.ycvideoplayerlib.player.video.VideoView;
 import org.yczbj.ycvideoplayerlib.tool.utils.PlayerUtils;
 import org.yczbj.ycvideoplayerlib.tool.utils.PlayerUtils;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
 import org.yczbj.ycvideoplayerlib.ui.view.BasisVideoController;
 import org.yczbj.ycvideoplayerlib.ui.view.BasisVideoController;
-
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 
 

+ 1 - 1
app/src/main/java/org/yczbj/ycvideoplayer/tiktok/TikTokRenderView.java

@@ -5,7 +5,7 @@ import android.view.View;
 
 
 import androidx.annotation.NonNull;
 import androidx.annotation.NonNull;
 
 
-import org.yczbj.ycvideoplayerlib.player.inter.AbstractPlayer;
+import com.yc.kernel.inter.AbstractPlayer;
 import org.yczbj.ycvideoplayerlib.player.render.IRenderView;
 import org.yczbj.ycvideoplayerlib.player.render.IRenderView;
 import org.yczbj.ycvideoplayerlib.player.video.VideoView;
 import org.yczbj.ycvideoplayerlib.player.video.VideoView;
 
 

+ 2 - 1
app/src/main/java/org/yczbj/ycvideoplayer/tiktok/TikTokView.java

@@ -14,11 +14,12 @@ import android.widget.Toast;
 import androidx.annotation.NonNull;
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.Nullable;
 
 
+import com.yc.kernel.utils.VideoLogUtils;
+
 import org.yczbj.ycvideoplayer.R;
 import org.yczbj.ycvideoplayer.R;
 import org.yczbj.ycvideoplayerlib.controller.ControlWrapper;
 import org.yczbj.ycvideoplayerlib.controller.ControlWrapper;
 import org.yczbj.ycvideoplayerlib.controller.IControlComponent;
 import org.yczbj.ycvideoplayerlib.controller.IControlComponent;
 import org.yczbj.ycvideoplayerlib.player.video.VideoView;
 import org.yczbj.ycvideoplayerlib.player.video.VideoView;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
 
 
 public class TikTokView extends FrameLayout implements IControlComponent {
 public class TikTokView extends FrameLayout implements IControlComponent {
 
 

+ 1 - 2
settings.gradle

@@ -1,4 +1,3 @@
-include ':VideoBarrage'
-include ':VideoUi'
+include ':VideoKernel'
 include ':VideoCache'
 include ':VideoCache'
 include ':app', ':VideoPlayer'
 include ':app', ':VideoPlayer'