Agora RTC Objective-C API Reference Refactor

Instance Methods | Class Methods
<AgoraRtcMediaPlayerCacheManagerProtocol> Protocol Reference

Inherits <NSObject>.

## Instance Methods
(int) | - removeAllCaches
(int) | - removeOldCache
(int) | - removeCacheByUri:
(int) | - setCacheDir:
(int) | - setMaxCacheFileCount:
(int) | - setMaxCacheFileSize:
(int) | - enableAutoRemoveCache:
(NSString *) | - cacheDir
(NSInteger) | - maxCacheFileCount
(NSInteger) | - maxCacheFileSize
(NSInteger) | - cacheFileCount

## Class Methods
(instancetype) | + sharedInstance

## Method Documentation

## ◆ sharedInstance

+ (instancetype) sharedInstance |  |  |

Gets a `AgoraRtcMediaPlayerCacheManagerProtocol` instance.

Returns
  The `AgoraRtcMediaPlayerCacheManagerProtocol` instance.

## ◆ removeAllCaches

- (int) removeAllCaches |  |  |

Deletes all cached media files in the media player.

Note
  The cached media file currently being played will not be deleted.

Returns
  - 0: Success.
  - < 0: Failure. See `AgoraMediaPlayerReason`.

## ◆ removeOldCache

- (int) removeOldCache |  |  |

Deletes a cached media file that is the least recently used.

You can call this method to delete a cached media file when the storage space for the cached files is about to reach its limit. After you call this method, the SDK deletes the cached media file that is least used.

Note
  The cached media file currently being played will not be deleted.

Returns
  - 0: Success.
  - < 0: Failure. See `AgoraMediaPlayerReason`.

## ◆ removeCacheByUri:

- (int) removeCacheByUri: |  | (NSString *) | uri |

Deletes a cached media file.

Note
  The cached media file currently being played will not be deleted.

Parameters

  uri | The URI (Uniform Resource Identifier) of the media file to be deleted.

Returns
  - 0: Success.
  - < 0: Failure. See `AgoraMediaPlayerReason`.

## ◆ setCacheDir:

- (int) setCacheDir: |  | (NSString *) | cacheDir |

Sets the storage path for the media files that you want to cache.

Note
  Make sure `AgoraRtcEngineKit` is initialized before you call this method.

Parameters

  cacheDir | The absolute path of the media files to be cached. Ensure that the directory for the media files exists and is writable.

Returns
  - 0: Success.
  - < 0: Failure. See `AgoraMediaPlayerReason`.

## ◆ setMaxCacheFileCount:

- (int) setMaxCacheFileCount: |  | (NSInteger) | count |

Sets the maximum number of media files that can be cached.

Parameters

  count | The maximum number of media files that can be cached. The default value is 1,000.

Returns
  - 0: Success.
  - < 0: Failure. See `AgoraMediaPlayerReason`.

## ◆ setMaxCacheFileSize:

- (int) setMaxCacheFileSize: |  | (NSInteger) | cacheSize |

Sets the maximum size of the aggregate storage space for cached media files.

Parameters

  cacheSize | The maximum size (bytes) of the aggregate storage space for cached media files. The default value is 1 GB.

Returns
  - 0: Success.
  - < 0: Failure. See `AgoraMediaPlayerReason`.

## ◆ enableAutoRemoveCache:

- (int) enableAutoRemoveCache: |  | (BOOL) | enable |

Sets whether to delete cached media files automatically.

If you enable this function to remove cached media files automatically, when the cached media files exceed either the number or size limit you set, the SDK automatically deletes the least recently used cache file.

Parameters

  enable | Whether to enable the SDK to delete cached media files automatically: `YES`: Delete cached media files automatically. `NO`: (Default) Do not delete cached media files automatically.

Returns
  - 0: Success.
  - < 0: Failure. See `AgoraMediaPlayerReason`.

## ◆ cacheDir

- (NSString *) cacheDir |  |  |

Gets the storage path of the cached media files.

If you have not called the `setCacheDir:` method to set the storage path for the media files to be cached before calling this method, you get the default storage path used by the SDK.

Returns
  - The call succeeds, and the SDK returns the storage path of the cached media files.
  - < 0: Failure. See `AgoraMediaPlayerReason`.

## ◆ maxCacheFileCount

- (NSInteger) maxCacheFileCount |  |  |

Gets the maximum number of media files that can be cached.

By default, the maximum number of media files that can be cached is 1,000.

Returns
  - > 0: The call succeeds and returns the maximum number of media files that can be cached.
  - < 0: Failure. See `AgoraMediaPlayerReason`.

## ◆ maxCacheFileSize

- (NSInteger) maxCacheFileSize |  |  |

Gets the maximum size of the aggregate storage space for cached media files.

By default, the maximum size of the aggregate storage space for cached media files is 1 GB. You can call the `setMaxCacheFileSize:` method to set the limit according to your scenarios.

Returns
  - > 0: The call succeeds and returns the maximum size (in bytes) of the aggregate storage space for cached media files.
  - < 0: Failure. See `AgoraMediaPlayerReason`.

## ◆ cacheFileCount

- (NSInteger) cacheFileCount |  |  |

Gets the number of media files that are cached.

Returns
  - ≥ 0: The call succeeds and returns the number of media files that are cached.
  - < 0: Failure. See `AgoraMediaPlayerReason`.