媒体播放器缓存
enableAutoRemoveCache:
设置是否开启自动清除缓存文件功能。
Objective-C
- (int)enableAutoRemoveCache:(BOOL)enable;
详情
开启自动清除缓存文件后,当播放器中缓存的媒体文件超过你设置的文件数量或总缓存大小的上限时,SDK 会自动清除近期最少使用的一个缓存文件。
参数
- enable
- 是否自动清除缓存文件:
YES
:开启自动清除缓存文件功能。NO
:(默认)关闭自动清除缓存文件功能。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 AgoraMediaPlayerReason。
removeAllCaches
删除媒体播放器中所有已缓存的媒体文件。
Objective-C
- (int)removeAllCaches;
详情
信息
该方法不会删除正在播放中的已缓存媒体文件。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 AgoraMediaPlayerReason。
removeCacheByUri:
删除指定的已缓存媒体文件。
Objective-C
- (int)removeCacheByUri:(NSString *)uri;
详情
信息
该方法不会删除正在播放中的已缓存媒体文件。
参数
- uri
- 待删除的缓存文件的 URI(Uniform Resource Identifier),可用于标识媒体文件。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 AgoraMediaPlayerReason。
removeOldCache
删除媒体播放器中近期最少使用的一个缓存媒体文件。
Objective-C
- (int)removeOldCache;
详情
缓存媒体文件占用过多空间时,你可以调用该方法清理缓存文件。调用该方法后,SDK 会删除最少使用的一个缓存媒体文件。
信息
当你调用此方法删除缓存媒体文件时,当前正在播放的已缓存媒体文件不会被删除。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 AgoraMediaPlayerReason。
setCacheDir:
设置待缓存的媒体文件的储存路径。
Objective-C
- (int)setCacheDir:(NSString *)cacheDir;
详情
信息
该方法需在初始化 AgoraRtcEngineKit 之后调用。
参数
- cacheDir
- 缓存文件储存的绝对路径。请确保指定的目录存在且可写。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 AgoraMediaPlayerReason。
setMaxCacheFileCount:
设置缓存媒体文件数量的上限。
Objective-C
- (int)setMaxCacheFileCount:(NSInteger)count;
参数
- count
- 可缓存的媒体文件数量的上限,默认值为 1000。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 AgoraMediaPlayerReason。
setMaxCacheFileSize:
设置缓存媒体文件的总缓存大小的上限。
Objective-C
- (int)setMaxCacheFileSize:(NSInteger)cacheSize;
参数
- cacheSize
- 缓存媒体文件的总缓存上限,单位为字节。默认为 1 GB。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 AgoraMediaPlayerReason。
AgoraRtcMediaPlayer:cacheStats:
报告当前缓存中的媒体资源的相关信息。
Objective-C
(void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit cacheStats:(AgoraMediaPlayerCacheStatistics *_Nonnull)info NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:cacheStats:));
详情
自从
v4.3.0
调用 openWithMediaSource: 方法且设置 enableCache 成员为 YES
后,SDK 会在媒体文件打开后每秒触发一次该回调,报告当前缓存的媒体文件的统计数据。
参数
- info
- 缓存中的媒体资源的相关信息,详见 AgoraMediaPlayerCacheStatistics。
- playerKit