-
Notifications
You must be signed in to change notification settings - Fork 23
api
Franken Zeng edited this page Aug 7, 2017
·
1 revision
如下方法自定义配置(需在startServer前设置):
proxy.setCacheRoot(fileRoot)
策略包括:
- 文件个数限制
- 文件总大小限制
目前这两种策略只能二选一,且策略在每次播放完成或者退出播放时生效。
-
使用限制文件总大小的策略,默认使用的是该策略,且缓存大小为500M
proxy.setMaxCacheSize(maxCacheSize) -
使用限制文件总个数的策略
proxy.setMaxFilesCount(maxFilesCount)
超过该大小的文件将不被缓存
proxy.setMaxSingleFileSize(long maxSingleFileSize)
proxy.setDisableCache(true)
-
监听proxy的error
void registerErrorListener(OnErrorListener onErrorListener) -
监听某个url对应的缓存进度
void registerCacheStatusListener(OnCacheStatusListener onCacheStatusListener, String url)
void startServer()
void shutDownServer()
启用后台线程对于已缓冲但未完成的文件进行下载,该线程在以下情况下退出:
- 下载完成
- server接收到相同url的播放请求
- shutDownServer方法被调用
如果设置了缓存区文件个数限制,后台下载文件的个数不应超过文件限制
void resumeDownload(String url)
清除cacheRoot目录下的所有文件及数据库记录
void cleanCaches()
void getProxyUrl(url, newCache)
- 对于http flv直播,如果播放器通过接口getProxyUrl( ur)获得播放地址,播放行为是:首次播放,边播放边缓存;以后播放相同url,则是回看缓存好的视频。
- 而如果播放器通过getProxyUrl(url, newCache)获得播放地址,播放行为是:newCache参数为true,无论是否有url对应的缓存内容,都是播放并缓存新的直播内容。newCache为false,如果有url对应的缓存内容(命中缓存),播放时回看已缓存的直播内容;没有命中的缓存视频(未命中缓存),则播放并缓存新的直播内容。
void cleanCache(String url)
boolean isCached(String url)
文件列表包括url和缓存文件
HashMap<String, File> getCachedFileList()
文件列表包括url和缓存完成百分比
HashMap<String, Integer> getCachingPercentsList()
Bitmap getCachedFileThumbnail(String url)
获得缓存区已缓存完成的url对应的缩略图, 此调用为耗时操作,当文件较多时建议不要放在主线程中
获得缓存区已缓存完成的url对应的文件
File getCacheFile(String url)
File getCacheRoot()

