# AndroidVideoCache_ohos **Repository Path**: liqiao1991/android-video-cache_ohos ## Basic Information - **Project Name**: AndroidVideoCache_ohos - **Description**: 鸿蒙视频缓存引擎项目 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2021-03-23 - **Last Updated**: 2021-03-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HarmonyOSVideoCache **本项目是基于开源项目AndroidVideoCache进行鸿蒙化的移植和开发的,可以通过项目标签以及github地址( https://github.com/danikula/AndroidVideoCache )追踪到原安卓项目版本** #### 项目介绍 - 项目名称:开源视频缓存引擎项目 - 所属系列:鸿蒙的第三方组件适配移植 - 功能:支持自动缓存视频并在断网状态下播放视频 - 项目移植状态:完成 - 调用差异:无 - 项目作者和维护人:吕泽 - 联系方式:isrc_hm@iscas.ac.cn - 原项目Doc地址:https://github.com/danikula/AndroidVideoCache **由于本项目基于安卓版本移植开发,所以继承了安卓版本的部分问题,即在一些情况下无法ping通本地服务器,但不会影响视频的播放:** - In some cases clients [can't connect](https://github.com/danikula/AndroidVideoCache/issues/134) to local proxy server ('Error pinging server' error). May be it is result of previous error. Note in this case video will be played, but without caching. #### 项目介绍 - 编程语言:Java - 外部库依赖:无 #### 安装教程 1. 下载弹幕库jar包VideoCache.jar。 2. 启动 DevEco Studio,将下载的jar包,导入工程目录“entry->libs”下。 3. 在moudle级别下的build.gradle文件中添加依赖,在dependences标签中增加对libs目录下jar包的引用。 ``` dependencies { implementation fileTree(dir: 'libs', include: ['*.jar', '*.har']) …… } ``` 4. 若此时jar包仍未被识别,可以在jar包上点击右键,选择“Add as Library”对包进行引用,选择需要引用的模块,并点击“OK”即引用成功。 #### 使用说明 相关类名:HttpProxyCacheServer 1. 实例化HttpProxyCacheServer对象 ```java private HttpProxyCacheServer mCacheServerProxy=null; public void onStart(Intent intent) { //…… if (mCacheServerProxy == null) { Context context = this; mCacheServerProxy = new HttpProxyCacheServer(context); } //…… } ``` 2. 定义缓存相关函数mCacheListener ```java private CacheListener mCacheListener = new CacheListener() { @Override public void onCacheAvailable(File cacheFile, String url, int percentsAvailable) { if (percentsAvailable == 100 && !cacheFile.getPath().endsWith(".download")) {} } }; ``` 3. 使用HttpProxyCacheServer对象,进行缓存proxy的转化 ```java //使用上述第二步的缓存函数 mCacheServerProxy.registerCacheListener(mCacheListener,URL); //将URL转化为localUrl localUrl = mCacheServerProxy.getProxyUrl(URL); ``` 4. 使用localUrl作为视频来源进行使用,缓存功能即可自动实现。 #### 版本迭代 - v0.1.0-alpha 基本功能实现 - v0.2.0-alpha 解决了gradle sync时间过长的问题 消除了config.json中的冗余代码 #### 版权和许可信息 - Apache Licence