媒体播放器缓存
enableAutoRemoveCache
设置是否自动删除缓存的媒体文件。
C++
virtual int enableAutoRemoveCache(bool enable) = 0;
启用该功能后,如果缓存的媒体文件数量或大小超过设置的限制,SDK 会自动删除最近最少使用的缓存文件。
参数
- enable
- 是否启用 SDK 自动删除缓存的媒体文件:
- 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:方法调用失败,参见 MEDIA_PLAYER_REASON。
getMaxCacheFileCount
获取可缓存的媒体文件的最大数量。
C++
virtual int getMaxCacheFileCount() = 0;
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 MEDIA_PLAYER_REASON。
getMaxCacheFileSize
获取缓存媒体文件聚合存储空间的最大大小。
C++
virtual int64_t getMaxCacheFileSize() = 0;
你可以调用 setMaxCacheFileSize 方法设置缓存媒体文件聚合存储空间的最大大小,默认值为 1 GB。
返回值
- 方法调用成功,返回缓存媒体文件聚合存储空间的最大大小(单位为字节)。
- < 0:方法调用失败,详见 MEDIA_PLAYER_REASON。
removeAllCaches
删除媒体播放器中所有缓存的媒体文件。
C++
virtual int removeAllCaches() = 0;
信息
removeAllCaches 不会删除当前正在播放的缓存媒体文件。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 MEDIA_PLAYER_REASON。
removeCacheByUri
删除缓存的媒体文件。
C++
virtual int removeCacheByUri(const char *uri) = 0;
信息
removeCacheByUri 当前不会删除正在播放的缓存媒体文件。
参数
- uri
- 要删除的媒体文件的 URI(统一资源标识符)。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 MEDIA_PLAYER_REASON。
removeOldCache
删除最少使用的缓存媒体文件。
C++
virtual int removeOldCache() = 0;
当缓存文件存储空间即将达到上限时,你可以调用该方法,SDK 会删除最少使用的缓存媒体文件。
信息
removeOldCache 不会删除当前正在播放的缓存媒体文件。
返回值
- 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)
调用 openWithMediaSource 方法并将 enableCache 设置为 true 后,SDK 每秒触发一次该回调,上报正在缓存的媒体文件的统计信息。
参数
- stats
- 媒体文件缓存统计信息。详见 CacheStatistics。