媒体播放器缓存
enableAutoRemoveCache:
设置是否自动删除缓存的媒体文件。
Objective-C
- (int)enableAutoRemoveCache:(BOOL)enable NS_SWIFT_NAME(enableAutoRemoveCache(_:));
当缓存的媒体文件超过设置的数量或大小限制时,如果启用该功能,SDK 会自动删除最近最少使用的缓存文件。
参数
- enable
- 是否启用 SDK 自动删除缓存的媒体文件:
- YES:自动删除缓存的媒体文件。
- NO:(默认)不自动删除缓存的媒体文件。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 AgoraMediaPlayerReason。
cacheDir
获取缓存媒体文件的存储路径。
Objective-C
- (NSString *)cacheDir NS_SWIFT_NAME(cacheDir());
如果在调用该方法前未调用 setCacheDir: 方法设置缓存媒体文件的存储路径,则该方法返回 SDK 默认使用的存储路径。
返回值
- 方法调用成功时,返回缓存媒体文件的存储路径。
- 方法调用失败,返回 nil,详见 AgoraMediaPlayerReason。
cacheFileCount
获取已缓存的媒体文件数量。
Objective-C
- (NSInteger)cacheFileCount NS_SWIFT_NAME(cacheFileCount());
返回值
- 方法调用成功,返回已缓存的媒体文件数量。
- 方法调用失败,返回小于 0 的错误码,详见 AgoraMediaPlayerReason。
maxCacheFileCount
获取可缓存的媒体文件的最大数量。
Objective-C
- (NSInteger)maxCacheFileCount NS_SWIFT_NAME(maxCacheFileCount());
默认情况下,最多可以缓存 1,000 个媒体文件。
返回值
方法调用成功,返回可缓存的媒体文件的最大数量。
所属接口类- < 0:方法调用失败,返回错误码,详见 AgoraMediaPlayerReason。
maxCacheFileSize
获取缓存媒体文件的聚合存储空间的最大大小。
Objective-C
- (NSInteger)maxCacheFileSize NS_SWIFT_NAME(maxCacheFileSize());
你可以调用 setMaxCacheFileSize: 方法根据你的使用场景设置该限制。默认情况下,缓存媒体文件的聚合存储空间的最大大小为 1 GB。
返回值
- 方法调用成功,返回缓存媒体文件的聚合存储空间的最大大小(单位为字节)。
- 方法调用失败,返回小于 0 的错误码,详见 AgoraMediaPlayerReason。
removeAllCaches
删除媒体播放器中所有缓存的媒体文件。
Objective-C
- (int)removeAllCaches NS_SWIFT_NAME(removeAllCaches());
信息
removeAllCaches 不会删除当前正在播放的缓存媒体文件。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 AgoraMediaPlayerReason。
removeCacheByUri:
删除缓存的媒体文件。
Objective-C
- (int)removeCacheByUri:(NSString *)uri NS_SWIFT_NAME(removeCache(byUri:));
信息
removeCacheByUri: 当前正在播放的缓存媒体文件不会被删除。
参数
- uri
- 要删除的媒体文件的 URI(统一资源标识符)。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 AgoraMediaPlayerReason。
removeOldCache
删除最少使用的缓存媒体文件。
Objective-C
- (int)removeOldCache NS_SWIFT_NAME(removeOldCache());
当缓存文件的存储空间即将达到上限时,你可以调用该方法删除一个缓存媒体文件。SDK 会删除最少使用的缓存媒体文件。
信息
removeOldCache 当前不会删除正在播放的缓存媒体文件。
返回值
- 0:方法调用成功。
- < 0:方法调用失败,详见 AgoraMediaPlayerReason。
setCacheDir:
设置要缓存的媒体文件的存储路径。
Objective-C
- (int)setCacheDir:(NSString *)cacheDir NS_SWIFT_NAME(setCacheDir(_:));
信息
请确保在调用该方法前已初始化 AgoraRtcEngineKit。
参数
- cacheDir
- 要缓存的媒体文件的绝对路径。确保该目录存在且可写。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。详见 AgoraMediaPlayerReason。
setMaxCacheFileCount:
设置可缓存的媒体文件数量上限。
Objective-C
- (int)setMaxCacheFileCount:(NSInteger)count NS_SWIFT_NAME(setMaxCacheFileCount(_:));
参数
- count
- 可缓存的媒体文件数量上限(默认值为 1,000)。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。详见 AgoraMediaPlayerReason。
setMaxCacheFileSize:
设置用于缓存媒体文件的聚合存储空间的最大大小。
Objective-C
- (int)setMaxCacheFileSize:(NSInteger)cacheSize NS_SWIFT_NAME(setMaxCacheFileSize(_:));
参数
- 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:));
触发时机
该回调在你调用 openWithMediaSource: 方法并将 enableCache 设置为 YES 后,每秒触发一次。
参数
- playerKit
- info
- 正在缓存的媒体文件的统计信息。详见 AgoraMediaPlayerCacheStatistics。