|
@@ -53,10 +53,11 @@
|
|
|**视频播放位置本地记录**| 支持 |支持 |支持 | | |
|
|
|**视频播放位置本地记录**| 支持 |支持 |支持 | | |
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
### 02.视频播放器功能
|
|
### 02.视频播放器功能
|
|
|**类型** | 功能说明 |
|
|
|**类型** | 功能说明 |
|
|
|-------- |----- |
|
|
|-------- |----- |
|
|
-|**项目结构** | VideoCache缓存lib,VideoKernel视频内核lib,VideoPlayer视频UIlib |
|
|
|
|
|
|
+|**项目结构** | VideoCache缓存lib,VideoKernel视频内核lib,VideoPlayer视频UI等lib , VideoSqlLite视频位置二级缓存, VideoView视频悬浮lib , VideoM3u8下载m3u8以及合成库lib |
|
|
|**内核** | MediaPlayer、ExoPlayer、IjkPlayer,后期接入Rtc和TXPlayer |
|
|
|**内核** | MediaPlayer、ExoPlayer、IjkPlayer,后期接入Rtc和TXPlayer |
|
|
|**协议/格式** | http/https、concat、rtsp、hls、rtmp、file、m3u8、mkv、webm、mp3、mp4等 |
|
|
|**协议/格式** | http/https、concat、rtsp、hls、rtmp、file、m3u8、mkv、webm、mp3、mp4等 |
|
|
|**画面** | 调整显示比例:默认、16:9、4:3、填充;播放时旋转画面角度(0,90,180,270);镜像旋转 |
|
|
|**画面** | 调整显示比例:默认、16:9、4:3、填充;播放时旋转画面角度(0,90,180,270);镜像旋转 |
|
|
@@ -67,6 +68,7 @@
|
|
|**视频播放位置本地记录** | 本地可以记录播放视频的播放位置,采用二级缓存模式:内存缓存 + 磁盘缓存 + key缓存 + 配置缓存大小和类型和路径|
|
|
|**视频播放位置本地记录** | 本地可以记录播放视频的播放位置,采用二级缓存模式:内存缓存 + 磁盘缓存 + key缓存 + 配置缓存大小和类型和路径|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
### 03.视频播放器结构说明
|
|
### 03.视频播放器结构说明
|
|
#### 3.1 视频播放器架构图
|
|
#### 3.1 视频播放器架构图
|
|

|
|

|
|
@@ -129,6 +131,8 @@
|
|
implementation 'cn.yc:VideoCache:3.0.5'
|
|
implementation 'cn.yc:VideoCache:3.0.5'
|
|
//视频内核层,必须有
|
|
//视频内核层,必须有
|
|
implementation 'cn.yc:VideoKernel:3.0.6'
|
|
implementation 'cn.yc:VideoKernel:3.0.6'
|
|
|
|
+ //视频播放器播放位置记录,选择性添加
|
|
|
|
+ implementation 'cn.yc:VideoSqlLite:1.0.2'
|
|
```
|
|
```
|
|
|
|
|
|
#### 4.2 在xml中添加布局
|
|
#### 4.2 在xml中添加布局
|
|
@@ -177,9 +181,11 @@
|
|
|
|
|
|
|
|
|
|
#### 4.5 关于视频播放位置本地记录
|
|
#### 4.5 关于视频播放位置本地记录
|
|
|
|
+- 播放视频位置常见操作
|
|
|
|
+ - 最好是服务端记录播放位置……常见的视频播放器把播放位置保存到服务端,这样用户换了设备则也可以拉下数据,或者卸载再安装也可以拉下服务端播放位置数据。
|
|
- 为何有该需求
|
|
- 为何有该需求
|
|
- - 主要是公司开发多个定制平板教育app,由于服务端没有做视频播放位置存储功能,为完成任务最后采用本地记录视频播放位置。最好是服务端记录播放位置……
|
|
|
|
-- 如何做技术选型
|
|
|
|
|
|
+ - 主要是公司开发多个定制平板教育app,由于服务端没有做视频播放位置存储功能,而且教育类卖的是设备+教育app(launcher应用),更换设备可能性小,为完成任务最后采用本地记录视频播放位置。
|
|
|
|
+- **如何做技术选型**
|
|
- 采用二级缓存,内存缓存和磁盘缓存。关于磁盘缓存,刚开始想着使用sql或者greenDao或者realm数据库,考虑到做成封装库,故要求体积小,尽量不依赖三方库还要效率高,因此磁盘缓存采用DiskLruCache。具体使用看api文档……
|
|
- 采用二级缓存,内存缓存和磁盘缓存。关于磁盘缓存,刚开始想着使用sql或者greenDao或者realm数据库,考虑到做成封装库,故要求体积小,尽量不依赖三方库还要效率高,因此磁盘缓存采用DiskLruCache。具体使用看api文档……
|
|
|
|
|
|
|
|
|