IMediaPlayerCacheManager
该类提供管理媒体播放器中缓存媒体文件的方法。
enableAutoRemoveCache
设置是否开启自动清除缓存文件功能。
int enableAutoRemoveCache(boolean enable);
开启自动清除缓存文件后,当播放器中缓存的媒体文件超过你设置的文件数量或总缓存大小的上限时,SDK 会自动清除近期最少使用的一个缓存文件。
参数
- enable
- 是否自动清除缓存文件:
true
:开启自动清除缓存文件功能。false
:(默认)关闭自动清除缓存文件功能。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 MediaPlayerError。
getCacheDir
获取缓存文件的储存路径。
String getCacheDir();
如果你在调用该方法前未曾调用 setCacheDir 方法自定义缓存文件的储存路径,该方法返回的为 SDK 默认的缓存文件储存路径。
返回值
- 方法调用成功时,返回缓存文件的储存路径。
- < 0:方法调用失败,详见 MediaPlayerError。
getCacheFileCount
获取当前已缓存的媒体文件的总数量。
int getCacheFileCount();
返回值
- ≥ 0:方法调用成功,返回当前已缓存的媒体文件的总数量。
- < 0:方法调用失败,详见 MediaPlayerError。
getMaxCacheFileCount
获取所设置的缓存文件数量上限。
int getMaxCacheFileCount();
SDK 默认的缓存文件数量上限为 1000。
返回值
- > 0:方法调用成功,返回缓存文件数量的上限。
- < 0:方法调用失败,详见 MediaPlayerError。
getMaxCacheFileSize
获取所设置的缓存文件总缓存的上限。
long getMaxCacheFileSize();
SDK 默认的缓存文件总缓存上限为 1GB。你可以调用 setMaxCacheFileSize 方法自定义总缓存大小的上限。
返回值
- > 0:方法调用成功,返回缓存文件的总缓存上限,单位为字节。
- < 0:方法调用失败,详见 MediaPlayerError。
removeAllCaches
删除媒体播放器中所有已缓存的媒体文件。
int removeAllCaches();
注:
该方法不会删除正在播放中的已缓存媒体文件。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 MediaPlayerError。
removeCacheByUri
删除指定的已缓存媒体文件。
int removeCacheByUri(String uri);
注:
该方法不会删除正在播放中的已缓存媒体文件。
参数
- uri
- 待删除的缓存文件的 URI(Uniform Resource Identifier),可用于标识媒体文件。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 MediaPlayerError。
removeOldCache
删除媒体播放器中近期最少使用的一个缓存媒体文件。
int removeOldCache();
缓存媒体文件占用过多空间时,你可以调用该方法清理缓存文件。调用该方法后,SDK 会删除最少使用的一个缓存媒体文件。
注:
当你调用此方法删除缓存媒体文件时,当前正在播放的已缓存媒体文件不会被删除。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 MediaPlayerError。
setCacheDir
设置待缓存的媒体文件的储存路径。
int setCacheDir(String path);
注:
该方法需在初始化 RtcEngine 之前调用。
参数
- path
- 缓存文件储存的绝对路径。请确保指定的目录存在且可写。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 MediaPlayerError。
setMaxCacheFileCount
设置缓存媒体文件数量的上限。
int setMaxCacheFileCount(int count);
参数
- count
- 可缓存的媒体文件数量的上限,默认值为 1000。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 MediaPlayerError。
setMaxCacheFileSize
设置缓存媒体文件的总缓存大小的上限。
int setMaxCacheFileSize(long cacheSize);
参数
- cacheSize
- 缓存媒体文件的总缓存上限,单位为字节。默认为 1 GB。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 MediaPlayerError。