媒体播放器缓存

  • iOS

更新时间不可用

enableAutoRemoveCache:

设置是否自动删除缓存的媒体文件。

Objective-C
- (int)enableAutoRemoveCache:(BOOL)enable NS_SWIFT_NAME(enableAutoRemoveCache(_:));

当缓存的媒体文件超过设置的数量或大小限制时,如果启用该功能,SDK 会自动删除最近最少使用的缓存文件。

参数

参数名描述
enable

是否启用 SDK 自动删除缓存的媒体文件:

  • YES:自动删除缓存的媒体文件。
  • NO:(默认)不自动删除缓存的媒体文件。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

所属接口类

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 个媒体文件。

返回值

方法调用成功,返回可缓存的媒体文件的最大数量。

所属接口类

maxCacheFileSize

获取缓存媒体文件的聚合存储空间的最大大小。

Objective-C
- (NSInteger)maxCacheFileSize NS_SWIFT_NAME(maxCacheFileSize());

你可以调用 setMaxCacheFileSize: 方法根据你的使用场景设置该限制。默认情况下,缓存媒体文件的聚合存储空间的最大大小为 1 GB。

返回值

  • 方法调用成功,返回缓存媒体文件的聚合存储空间的最大大小(单位为字节)。
  • 方法调用失败,返回小于 0 的错误码,详见 AgoraMediaPlayerReason。

所属接口类

removeAllCaches

删除媒体播放器中所有缓存的媒体文件。

Objective-C
- (int)removeAllCaches NS_SWIFT_NAME(removeAllCaches());

注: removeAllCaches 不会删除当前正在播放的缓存媒体文件。

返回值

所属接口类

removeCacheByUri:

删除缓存的媒体文件。

Objective-C
- (int)removeCacheByUri:(NSString *)uri NS_SWIFT_NAME(removeCache(byUri:));

注: removeCacheByUri: 当前正在播放的缓存媒体文件不会被删除。

参数

参数名描述
uri

要删除的媒体文件的 URI(统一资源标识符)。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

所属接口类

removeOldCache

删除最少使用的缓存媒体文件。

Objective-C
- (int)removeOldCache NS_SWIFT_NAME(removeOldCache());

当缓存文件的存储空间即将达到上限时,你可以调用该方法删除一个缓存媒体文件。SDK 会删除最少使用的缓存媒体文件。

注: removeOldCache 当前不会删除正在播放的缓存媒体文件。

返回值

所属接口类

setCacheDir:

设置要缓存的媒体文件的存储路径。

Objective-C
- (int)setCacheDir:(NSString *)cacheDir NS_SWIFT_NAME(setCacheDir(_:));

注: 请确保在调用该方法前已初始化 AgoraRtcEngineKit。

参数

参数名描述
cacheDir

要缓存的媒体文件的绝对路径。确保该目录存在且可写。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

所属接口类

setMaxCacheFileCount:

设置可缓存的媒体文件数量上限。

Objective-C
- (int)setMaxCacheFileCount:(NSInteger)count NS_SWIFT_NAME(setMaxCacheFileCount(_:));

参数

参数名描述
count

可缓存的媒体文件数量上限(默认值为 1,000)。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

所属接口类

setMaxCacheFileSize:

设置用于缓存媒体文件的聚合存储空间的最大大小。

Objective-C
- (int)setMaxCacheFileSize:(NSInteger)cacheSize NS_SWIFT_NAME(setMaxCacheFileSize(_:));

参数

参数名描述
cacheSize

缓存媒体文件的聚合存储空间的最大大小(字节)(默认值为 1 GB)。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

所属接口类

sharedInstance

获取 AgoraRtcMediaPlayerCacheManagerProtocol 实例。

Objective-C
+ (instancetype)sharedInstance NS_SWIFT_NAME(sharedInstance());

返回值

方法调用成功,返回 AgoraRtcMediaPlayerCacheManagerProtocol 实例。

所属接口类

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。

表格内容超出当前宽度,可横向滚动查看更多列。

所属接口类