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

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

杨充 4 жил өмнө
parent
commit
1bbe098a56
72 өөрчлөгдсөн 303 нэмэгдсэн , 150 устгасан
  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">
     <modules>
       <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/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$/.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$/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" />

+ 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 {
     implementation fileTree(dir: "libs", include: ["*.jar"])
-    implementation 'androidx.appcompat:appcompat:1.2.0'
 }
 
 
@@ -42,7 +41,7 @@ group = "cn.yc"
 //发布到JCenter上的项目名字,必须填写
 def libName = "YCVideoCacheLib"
 // 版本号,下次更新是只需要更改版本号即可
-version = "1.0.0"
+version = "1.0.1"
 /**  上面配置后上传至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.
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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.
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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.
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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.
  *
- * @author Egor Makovsky (yahor.makouski@gmail.com)
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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.
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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}
- *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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>
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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}
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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}.
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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>
  * 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 {
 

+ 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.
- *
- * @author Alexey Danilov
  */
 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.
- *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 
 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).
  * 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.
- *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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}.
- *
- * @author Alexey Danilov
  */
 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.
- *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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.
- *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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.
- *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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.
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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.
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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.
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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.
- *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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}.
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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.
- *
- * @author Lucas Nelaupe (https://github.com/lucas34).
  */
 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.
  *
- * @author Lucas Nelaupe (https://github.com/lucas34).
  */
 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}.
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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.
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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}.
- *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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}.
  *
- * @author Alexey Danilov (danikula@gmail.com).
  */
 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
 # 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"
-    package="com.zwwl.videobarrage">
+    package="com.yc.kernel">
+
 
-    /
 </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 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.content.Context;
@@ -15,7 +15,6 @@ import com.google.android.exoplayer2.PlaybackParameters;
 import com.google.android.exoplayer2.Player;
 import com.google.android.exoplayer2.RenderersFactory;
 import com.google.android.exoplayer2.SimpleExoPlayer;
-import com.google.android.exoplayer2.Timeline;
 import com.google.android.exoplayer2.analytics.AnalyticsCollector;
 import com.google.android.exoplayer2.source.MediaSource;
 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.Util;
 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;
 
@@ -83,7 +81,7 @@ public class ExoMediaPlayer extends AbstractPlayer implements VideoListener, Pla
         setOptions();
 
         //播放器日志
-        if (VideoViewManager.getConfig().mIsEnableLog && mTrackSelector instanceof MappingTrackSelector) {
+        if (VideoLogUtils.isIsLog() && mTrackSelector instanceof MappingTrackSelector) {
             mInternalPlayer.addAnalyticsListener(new EventLogger((MappingTrackSelector) mTrackSelector, "ExoPlayer"));
         }
         initListener();
@@ -119,7 +117,9 @@ public class ExoMediaPlayer extends AbstractPlayer implements VideoListener, Pla
     public void setDataSource(String path, Map<String, String> headers) {
         // 设置dataSource
         if(path==null || path.length()==0){
-            BaseToast.showRoundRectToast("视频链接不能为空");
+            if (mPlayerEventListener!=null){
+                mPlayerEventListener.onInfo(MEDIA_INFO_URL_NULL, 0);
+            }
             return;
         }
         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.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 org.yczbj.ycvideoplayerlib.player.factory.PlayerFactory;
+import com.yc.kernel.factory.PlayerFactory;
 
 /**
  * <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
 limitations under the License.
 */
-package org.yczbj.ycvideoplayerlib.player.impl.ijk;
+package com.yc.kernel.impl.ijk;
 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
 limitations under the License.
 */
-package org.yczbj.ycvideoplayerlib.player.impl.ijk;
+package com.yc.kernel.impl.ijk;
 
 import android.app.Application;
 import android.content.ContentResolver;
@@ -25,10 +25,8 @@ import android.os.Bundle;
 import android.text.TextUtils;
 import android.view.Surface;
 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 tv.danmaku.ijk.media.player.IMediaPlayer;
@@ -62,7 +60,7 @@ public class IjkVideoPlayer extends AbstractPlayer {
     public void initPlayer() {
         mMediaPlayer = new IjkMediaPlayer();
         //native日志
-        IjkMediaPlayer.native_setLogLevel(VideoViewManager.getConfig().mIsEnableLog
+        IjkMediaPlayer.native_setLogLevel(VideoLogUtils.isIsLog()
                 ? IjkMediaPlayer.IJK_LOG_INFO : IjkMediaPlayer.IJK_LOG_SILENT);
         setOptions();
         mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
@@ -154,7 +152,9 @@ public class IjkVideoPlayer extends AbstractPlayer {
     public void setDataSource(String path, Map<String, String> headers) {
         // 设置dataSource
         if(path==null || path.length()==0){
-            BaseToast.showRoundRectToast("视频链接不能为空");
+            if (mPlayerEventListener!=null){
+                mPlayerEventListener.onInfo(MEDIA_INFO_URL_NULL, 0);
+            }
             return;
         }
         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
 limitations under the License.
 */
-package org.yczbj.ycvideoplayerlib.player.impl.ijk;
+package com.yc.kernel.impl.ijk;
 
 import android.content.Context;
 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
 limitations under the License.
 */
-package org.yczbj.ycvideoplayerlib.player.impl.media;
+package com.yc.kernel.impl.media;
 
 import android.app.Application;
 import android.content.Context;
@@ -24,9 +24,7 @@ import android.net.Uri;
 import android.os.Build;
 import android.view.Surface;
 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;
 
 
@@ -84,7 +82,9 @@ public class AndroidMediaPlayer extends AbstractPlayer {
     public void setDataSource(String path, Map<String, String> headers) {
         // 设置dataSource
         if(path==null || path.length()==0){
-            BaseToast.showRoundRectToast("视频链接不能为空");
+            if (mPlayerEventListener!=null){
+                mPlayerEventListener.onInfo(MEDIA_INFO_URL_NULL, 0);
+            }
             return;
         }
         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
 limitations under the License.
 */
-package org.yczbj.ycvideoplayerlib.player.impl.media;
+package com.yc.kernel.impl.media;
 
 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.view.Surface;
@@ -6,11 +21,23 @@ import android.view.SurfaceHolder;
 
 import java.util.Map;
 
+
 /**
- * 抽象的播放器,继承此接口扩展自己的播放器
+ * <pre>
+ *     @author yangchong
+ *     blog  : https://github.com/yangchong211
+ *     time  : 2018/11/9
+ *     desc  : 抽象的播放器
+ *     revise:
+ * </pre>
  */
 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
 limitations under the License.
 */
-package org.yczbj.ycvideoplayerlib.tool.utils;
+package com.yc.kernel.utils;
 
 import android.util.Log;
 
@@ -39,6 +39,10 @@ public final class VideoLogUtils {
         VideoLogUtils.isLog = isLog;
     }
 
+    public static boolean isIsLog() {
+        return isLog;
+    }
+
     public static void d(String message) {
         if(isLog){
             Log.d(TAG, message);

+ 3 - 0
VideoPlayer/build.gradle

@@ -23,6 +23,9 @@ dependencies {
     implementation 'androidx.appcompat:appcompat:1.2.0'
     implementation 'androidx.annotation:annotation:1.1.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-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.NetworkUtils;
 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.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 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.render.RenderViewFactory;
 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.video.VideoView;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
+import com.yc.kernel.utils.VideoLogUtils;
 
 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 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 {
 
     /**

+ 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.Nullable;
 
-import org.yczbj.ycvideoplayerlib.player.inter.AbstractPlayer;
+import com.yc.kernel.inter.AbstractPlayer;
 
 
 @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.MediaPlayerControl;
 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.config.VideoViewConfig;
 import org.yczbj.ycvideoplayerlib.player.manager.VideoViewManager;
 import org.yczbj.ycvideoplayerlib.player.render.IRenderView;
 import org.yczbj.ycvideoplayerlib.player.render.RenderViewFactory;
 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.util.ArrayList;
 import java.util.List;
 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
         implements MediaPlayerControl, AbstractPlayer.PlayerEventListener {
 
-    protected P mMediaPlayer;//播放器
-    protected PlayerFactory<P> mPlayerFactory;//工厂类,用于实例化播放核心
+    /**
+     * 播放器
+     */
+    protected P mMediaPlayer;
+    /**
+     * 实例化播放核心
+     */
+    protected PlayerFactory<P> mPlayerFactory;
+    /**
+     * 控制器
+     */
     @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.tool.manager.VideoPlayerManager;
 import org.yczbj.ycvideoplayerlib.view.player.VideoPlayer;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
+import com.yc.kernel.utils.VideoLogUtils;
 
 /**
  * <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.view.player.VideoPlayer;
 import org.yczbj.ycvideoplayerlib.tool.utils.NetworkUtils;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
+import com.yc.kernel.utils.VideoLogUtils;
 
 /**
  * <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.widget.FrameLayout;
 
+import com.yc.kernel.utils.VideoLogUtils;
+
 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.widget.FrameLayout;
 
+import com.yc.kernel.utils.VideoLogUtils;
+
 import org.yczbj.ycvideoplayerlib.R;
 import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
 import org.yczbj.ycvideoplayerlib.view.controller.VideoPlayerController;
 import org.yczbj.ycvideoplayerlib.inter.dev.OnPlayerStatesListener;
 import org.yczbj.ycvideoplayerlib.tool.manager.VideoPlayerManager;
 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.IntRange;
 
+import com.yc.kernel.utils.VideoLogUtils;
+
 import org.yczbj.ycvideoplayerlib.config.VideoInfoBean;
 import org.yczbj.ycvideoplayerlib.ui.dialog.ChangeClarityDialog;
 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.tool.receiver.BatterReceiver;
 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.config.ConstantKeys;
 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 com.yc.kernel.utils.VideoLogUtils;
+
 import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
 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.toast.BaseToast;
 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.widget.FrameLayout;
 
+import com.yc.kernel.utils.VideoLogUtils;
+
 import org.yczbj.ycvideoplayerlib.config.ConstantKeys;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
 import org.yczbj.ycvideoplayerlib.view.controller.AbsVideoPlayerController;
 import org.yczbj.ycvideoplayerlib.inter.player.InterPropertyVideoPlayer;
 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 project(':VideoCache')
     implementation project(':VideoPlayer')
+    implementation project(':VideoKernel')
     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 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.manager.VideoViewManager;
 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.ycvideoplayerlib.tool.manager.VideoPlayerManager;
-import org.yczbj.ycvideoplayerlib.view.player.VideoPlayer;
 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.MoveType;
 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.TinyScreenActivity;
 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.manager.VideoViewManager;
 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 com.yc.kernel.utils.VideoLogUtils;
+
 import org.yczbj.ycvideoplayerlib.controller.ControlWrapper;
 import org.yczbj.ycvideoplayerlib.controller.IControlComponent;
 import org.yczbj.ycvideoplayerlib.tool.utils.PlayerUtils;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
 
 
 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.MotionEvent;
 
+import com.yc.kernel.utils.VideoLogUtils;
+
 import org.yczbj.ycvideoplayer.R;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
 
 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.viewpager.widget.ViewPager;
 
+import com.yc.kernel.utils.VideoLogUtils;
+
 import org.yczbj.ycvideoplayer.ConstantVideo;
 import org.yczbj.ycvideoplayer.R;
 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.player.video.VideoView;
 import org.yczbj.ycvideoplayerlib.tool.utils.PlayerUtils;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
 import org.yczbj.ycvideoplayerlib.ui.view.BasisVideoController;
-
 import java.util.ArrayList;
 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 org.yczbj.ycvideoplayerlib.player.inter.AbstractPlayer;
+import com.yc.kernel.inter.AbstractPlayer;
 import org.yczbj.ycvideoplayerlib.player.render.IRenderView;
 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.Nullable;
 
+import com.yc.kernel.utils.VideoLogUtils;
+
 import org.yczbj.ycvideoplayer.R;
 import org.yczbj.ycvideoplayerlib.controller.ControlWrapper;
 import org.yczbj.ycvideoplayerlib.controller.IControlComponent;
 import org.yczbj.ycvideoplayerlib.player.video.VideoView;
-import org.yczbj.ycvideoplayerlib.tool.utils.VideoLogUtils;
 
 public class TikTokView extends FrameLayout implements IControlComponent {
 

+ 1 - 2
settings.gradle

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