欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android VideoCache视频缓存的方法详解

程序员文章站 2022-06-04 21:42:03
android videocache视频缓存的方法详解 项目中遇到视频播放,需要加载网络url,不可能每次都进行网络加载,当然了,就需要用到我们的缓存机制 andr...

android videocache视频缓存的方法详解

项目中遇到视频播放,需要加载网络url,不可能每次都进行网络加载,当然了,就需要用到我们的缓存机制

androidvideocache

androidvideocache是一个视频/音频缓存库,利用本地代理实现了边下边播,使用起来非常简单。

httpproxycacheserver是主要类,是一个代理服务器,可以配置缓存文件的数量、缓存文件的大小、缓存文件的目录和缓存文件命名算法,文件缓存均基于lru算法,利用builder来配置:

//配置缓存目录
public builder cachedirectory(file file);

//配置缓存文件命名规则
public builder filenamegenerator(filenamegenerator filenamegenerator) ;

//配置缓存文件大小
public builder maxcachesize(long maxsize) ;

//配置缓存文件数量
public builder maxcachefilescount(int count) ;

建议以单列模式将httpproxycacheserver存放于application中:

public class app extends application {

  private httpproxycacheserver proxy;

  public static httpproxycacheserver getproxy(context context) {
    app app = (app) context.getapplicationcontext();
    return app.proxy == null ? (app.proxy = app.newproxy()) : app.proxy;
  }

  private httpproxycacheserver newproxy() {
    return new httpproxycacheserver(this);
  }
}

调用十分方便,只需要增加一行代码:

@override
protected void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);

  httpproxycacheserver proxy = getproxy();
  string proxyurl = proxy.getproxyurl(video_url);
  videoview.setvideopath(proxyurl);
}

private httpproxycacheserver getproxy() {
  return app.getproxy(getapplicationcontext());
}

最后视频加载的 时候需要判断是否缓存,做一些比如缓冲进度条的隐藏等操作

以上就是android videocache的使用方法详解,本站关于android开发的文章还有很多,希望大家搜索查阅,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!