媒体播放器缓存
enableAutoRemoveCache
设置是否开启自动清除缓存文件功能。
C++
virtual int enableAutoRemoveCache(bool enable) = 0;
详情
开启自动清除缓存文件后,当播放器中缓存的媒体文件超过你设置的文件数量或总缓存大小的上限时,SDK 会自动清除近期最少使用的一个缓存文件。
参数
- enable
- 是否自动清除缓存文件:
true
:开启自动清除缓存文件功能。false
:(默认)关闭自动清除缓存文件功能。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 MEDIA_PLAYER_REASON。
getCacheDir
获取缓存文件的储存路径。
C++
virtual int getCacheDir(char* path, int length) = 0;
详情
如果你在调用该方法前未曾调用 setCacheDir 方法自定义缓存文件的储存路径,该方法返回的为 SDK 默认的缓存文件储存路径。
参数
- path
- 输出参数,缓存文件的储存路径。
- length
- 输入参数,缓存文件储存路径字符串的最大长度。根据你在 path 中获得的缓存文件储存路径字符串来填写。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 MEDIA_PLAYER_REASON。
getCacheFileCount
获取当前已缓存的媒体文件的总数量。
C++
virtual int getCacheFileCount() = 0;
返回值
- ≥ 0:方法调用成功,返回当前已缓存的媒体文件的总数量。
- < 0:方法调用失败,详见 MEDIA_PLAYER_REASON。
getMaxCacheFileCount
获取所设置的缓存文件数量上限。
C++
virtual int getMaxCacheFileCount() = 0;
详情
SDK 默认的缓存文件数量上限为 1000。
返回值
- > 0:方法调用成功,返回缓存文件数量的上限。
- < 0:方法调用失败,详见 MEDIA_PLAYER_REASON。
getMaxCacheFileSize
获取所设置的缓存文件总缓存的上限。
C++
virtual int64_t getMaxCacheFileSize() = 0;
详情
SDK 默认的缓存文件总缓存上限为 1GB。你可以调用 setMaxCacheFileSize 方法自定义总缓存大小的上限。
返回值
- > 0:方法调用成功,返回缓存文件的总缓存上限,单位为字节。
- < 0:方法调用失败,详见 MEDIA_PLAYER_REASON。
removeAllCaches
删除媒体播放器中所有已缓存的媒体文件。
C++
virtual int removeAllCaches() = 0;
详情
信息
该方法不会删除正在播放中的已缓存媒体文件。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 MEDIA_PLAYER_REASON。
removeCacheByUri
删除指定的已缓存媒体文件。
C++
virtual int removeCacheByUri(const char *uri) = 0;
详情
信息
该方法不会删除正在播放中的已缓存媒体文件。
参数
- uri
- 待删除的缓存文件的 URI(Uniform Resource Identifier),可用于标识媒体文件。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 MEDIA_PLAYER_REASON。
removeOldCache
删除媒体播放器中近期最少使用的一个缓存媒体文件。
C++
virtual int removeOldCache() = 0;
详情
缓存媒体文件占用过多空间时,你可以调用该方法清理缓存文件。调用该方法后,SDK 会删除最少使用的一个缓存媒体文件。
信息
当你调用此方法删除缓存媒体文件时,当前正在播放的已缓存媒体文件不会被删除。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 MEDIA_PLAYER_REASON。
setCacheDir
设置待缓存的媒体文件的储存路径。
C++
virtual int setCacheDir(const char *path) = 0;
详情
信息
该方法需在初始化 IRtcEngine 之后调用。
参数
- path
- 缓存文件储存的绝对路径。请确保指定的目录存在且可写。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 MEDIA_PLAYER_REASON。
setMaxCacheFileCount
设置缓存媒体文件数量的上限。
C++
virtual int setMaxCacheFileCount(int count) = 0;
参数
- count
- 可缓存的媒体文件数量的上限,默认值为 1000。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 MEDIA_PLAYER_REASON。
setMaxCacheFileSize
设置缓存媒体文件的总缓存大小的上限。
C++
virtual int setMaxCacheFileSize(int64_t cacheSize) = 0;
参数
- cacheSize
- 缓存媒体文件的总缓存上限,单位为字节。默认为 1 GB。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 MEDIA_PLAYER_REASON。
onPlayerCacheStats
报告当前缓存中的媒体资源的相关信息。
C++
virtual void onPlayerCacheStats(const media::base::CacheStatistics& stats) {
(void)stats;
}
详情
调用 openWithMediaSource 方法且设置 enableCache 成员为 true
后,SDK 会在媒体文件打开后每秒触发一次该回调,报告当前缓存的媒体文件的统计数据。
参数
- stats
- 缓存中的媒体资源的相关信息,详见 CacheStatistics。