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