代码拉取完成,页面将自动刷新
AFCache
以本地代理的模式实现视频、文件缓存
dependencies {
implementation 'com.gitee.afterfinal:afcache:1.0.1'
}
AFCache.setCacheDir(new File(getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS), "afcahes"));//设置缓存文件夹
AFCache.setCacheFilter();//决定哪些文件类型需要缓存
AFCache.setKeyUriDecryptor();//对于加密m3u8,自定义uri的处理
AFCache cache = new AFCache();
cache.getUrl(originUrl, new AFCache.Callback() {
@Override
public void onUrlGet(String url) {
if (videoView.isPlaying()) {
videoView.stopPlayback();
}
Map<String, String> headers = new HashMap<>();
if (null != tag) {
headers.put("Clear-Cache", tag);//tag=1,清除当前url对应的缓存
}
videoView.setVideoURI(Uri.parse(url), headers);
videoView.setMediaController(new MediaController(MainActivity.this));
videoView.start();
}
@Override
public void onError(Throwable e) {
Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
}
});
cache.stop();
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。