视频缓存API说明
一、自定义配置
1. 如下方法自定义配置(需在startServer前设置):
1.1 设置缓存存储位置
proxyService.setCacheRoot(fileRoot)
1.2 缓存区大小限制策略
策略包括:
目前这两种策略只能二选一,且策略在每次播放完成或者退出播放时生效。
- 使用限制文件总大小的策略,默认使用的是该策略,且缓存大小为500M
proxyService.setMaxCacheSize(maxCacheSize)
proxyService.setMaxFilesCount(maxFilesCount)
1.3 设置对单个文件大小限制
超过该大小的文件将不被缓存
proxyService.setMaxSingleFileSize(long maxSingleFileSize)
1.4 设置不缓存任何文件
proxyService.setDisableCache(true)
2. 状态监听
void registerErrorListener(OnErrorListener onErrorListener)
void registerCacheStatusListener(OnCacheStatusListener onCacheStatusListener, String url)
void registerLogEventListener(OnLogEventListener onLogEventListener)
二、Proxy操作
1. 启动server
void startServer()
2. 关闭server
void shutDownServer()
3. 清除缓存区所有缓存
清除cacheRoot目录下的所有文件及数据库记录
void cleanCaches()
三、查询操作
1. 获得播放地址
void getProxyUrl(url, newCache)
- 对于http flv直播,如果播放器通过接口getProxyUrl( ur)获得播放地址,播放行为是:首次播放,边播放边缓存;以后播放相同url,则是回看缓存好的视频。
- 而如果播放器通过getProxyUrl(url, newCache)获得播放地址,播放行为是:newCache参数为true,无论是否有url对应的缓存内容,都是播放并缓存新的直播内容。newCache为false,如果有url对应的缓存内容(命中缓存),播放时回看已缓存的直播内容;没有命中的缓存视频(未命中缓存),则播放并缓存新的直播内容。
2. 删除某个url对于的缓存
void cleanCache(String url)
3. 查询某个url是否缓存完成
boolean isCached(String url)
4. 获得缓存区中已缓存完成的文件列表
文件列表包括url和缓存文件
HashMap<String, File> getCachedFileList()
5. 获得缓存区中缓存未完成的文件列表
文件列表包括url和缓存完成百分比
HashMap<String, Integer> getCachingPercentsList()
6. 获取缩略图
获得缓存区已缓存完成的url对应的缩略图, 此调用为耗时操作,当文件较多时建议不要放在主线程中
Bitmap getCachedFileThumbnail(String url)
7. 下载完成文件查询
获得缓存区已缓存完成的url对应的文件
File getCacheFile(String url)
8. 获得缓存区路径
File getCacheRoot()