杨充 4 سال پیش
والد
کامیت
afdf0ce6e4
2فایلهای تغییر یافته به همراه28 افزوده شده و 2 حذف شده
  1. 9 2
      README.md
  2. 19 0
      read/03.视频播放器Api说明.md

+ 9 - 2
README.md

@@ -50,7 +50,7 @@
 |**基于内核无UI**| 支持  |支持   |支持   |   |   |
 |**添加弹幕**| 支持  |支持   |支持   |   |   |
 |**全屏显示电量**| 支持  |支持   |支持   |   |   |
-
+|**视频播放位置本地记录**| 支持  |支持   |支持   |   |   |
 
 
 ### 02.视频播放器功能
@@ -64,7 +64,7 @@
 |**播放** | 正常播放,小窗播放,列表播放,仿抖音播放 |
 |**自定义** | 可以自定义添加视频UI层,可以说UI和Player高度分离,支持自定义渲染层SurfaceView |
 |**统一视频埋点** | 暴露用户播放视频开始,退出,异常,播放完成,以及退出视频时进度,点击广告,试看等多个统一埋点 |
-
+|**视频播放位置本地记录** | 本地可以记录播放视频的播放位置,采用二级缓存模式:内存缓存 + 磁盘缓存 + key缓存 + 配置缓存大小和类型和路径|
 
 
 ### 03.视频播放器结构说明
@@ -176,6 +176,13 @@
         ```
 
 
+#### 4.5 关于视频播放位置本地记录
+- 为何有该需求
+    - 主要是公司开发多个定制平板教育app,由于服务端没有做视频播放位置存储功能,为完成任务最后采用本地记录视频播放位置。最好是服务端记录播放位置……
+- 如何做技术选型
+    - 采用二级缓存,内存缓存和磁盘缓存。关于磁盘缓存,刚开始想着使用sql或者greenDao或者realm数据库,考虑到做成封装库,故要求体积小,尽量不依赖三方库还要效率高,因此磁盘缓存采用DiskLruCache。具体使用看api文档……
+
+
 
 ### 05.播放器详细Api文档
 - 01.最简单的播放

+ 19 - 0
read/03.视频播放器Api说明.md

@@ -15,6 +15,7 @@
 - 13.类似抖音视频预加载
 - 14.视频播放器埋点
 - 15.关于视频配置
+- 16.视频播放位置本地缓存
 
 
 
@@ -670,6 +671,24 @@
     ```
 
 
+### 16.视频播放位置本地缓存
+- 如何使用api
+    ```
+    //保存播放位置
+    VideoLocation location = new VideoLocation(url, currentPosition, duration);
+    LocationManager.getInstance().put(url,location);
+    
+    //获取播放位置
+    final long location = LocationManager.getInstance().get(url);
+    
+    //最后注意需要seekTo一下
+    mVideoPlayer.postDelayed(new Runnable() {
+        @Override
+        public void run() {
+            mVideoPlayer.mandatorySeekTo(location);
+        }
+    },800);
+    ```