在短视频的场景里面如果每个视频播放一遍播放下一次还要再重新缓存下载并不是一个好的选择.于是就诞生了边下边缓存的功能.这样可以获得较好的体验并且省下一定得流量.
关键接口:
/*
* enable:是否可以边播边存。如果为true,则根据后面的几个参数决定是否能*够缓存。
* saveDir:缓存的目录(绝对路径)
* maxDuration:能缓存的单个视频最大长度(单位:秒)。如果单个视频超过这个值,就不缓存。
* maxSize:缓存目录的所有缓存文件的总的最大大小(单位:MB)。如果超*过则删除最旧文件,如果还是不够,则不缓存。
*/
public void setPlayingCache(boolean enable, String saveDir, int maxDuration, long maxSize)
如何使用?
创建Player或者PlayerView之后,在prepare之前,设置下载路径(绝对路径)、最大下载数据(单位:MB)、单一视频最大下载总时长(单位:秒)。例如:
AliyunVodPlayer aliyunVodPlayer = new AliyunVodPlayer(this);
String sdDir = Environment.getExternalStorageDirectory().getAbsolutePath() + "/test_save_cache";
aliyunVodPlayer.setPlayingCache(true,sdDir,60 * 60 /*时长, s */,300 /*大小,MB*/);
aliyunVodPlayer.setOnPreparedListener(...);
......
aliyunVodPlayer.prepareAsync(...);
限制说明
- 缓存功能仅针对被完整播放的视频(seek后无效),主要用于短视频循环播放场景,并不建议长视频做边下边缓存功能.
- 当前仅针对点播和MTS的vid播放方式提供,暂不支持直接播放URL的方式
本文为【问答合集】阿里视频云常见技术问题汇总——内含技术文档40+ 持续更新中 系列文章之一,如果本文还不能解决你的问题可以在汇总合集中查看,有任何问题也欢迎回复,谢谢.