preload method

FutureOr<int> preload(
  1. int effectId,
  2. NSString filePath
)

@detail api @brief 预加载指定音乐文件到内存中,以避免频繁播放同一文件时的重复加载,减少 CPU 占用。 @param effectId 音效 ID。用于标识音效,请保证音效 ID 唯一性。
如果使用相同的 ID 重复调用本方法,后一次会覆盖前一次。
如果先调用 start:filePath:config:{@link #ByteRTCAudioEffectPlayer#start:filePath:config},再使用相同的 ID 调用本方法 ,会收到回调 onAudioEffectPlayerStateChanged:state:error:{@link #ByteRTCAudioEffectPlayerEventHandler#onAudioEffectPlayerStateChanged:state:error},通知前一个音效停止,然后加载下一个音效。
调用本方法预加载 A.mp3 后,如果需要使用相同的 ID 调用 start:filePath:config:{@link #ByteRTCAudioEffectPlayer#start:filePath:config} 播放 B.mp3,请先调用 unload:{@link #ByteRTCAudioEffectPlayer#unload} 卸载 A.mp3 ,否则会报错 AUDIO_MIXING_ERROR_LOAD_CONFLICT。 @param filePath 音效文件路径。支持本地文件的 URI、或本地文件的绝对路径。
预加载的文件长度不得超过 20s。
不同平台支持的音效文件格式和 start:filePath:config:{@link #ByteRTCAudioEffectPlayer#start:filePath:config} 一致。 @return - 0: 调用成功。 - < 0 : 调用失败。查看 ByteRTCReturnStatus{@link #ByteRTCReturnStatus} 获得更多错误说明 @note - 本方法只是预加载指定音效文件,只有调用 start:filePath:config:{@link #ByteRTCAudioEffectPlayer#start:filePath:config} 方法才开始播放指定音效文件。 - 调用本方法预加载的指定音效文件可以通过 unload:{@link #ByteRTCAudioEffectPlayer#unload} 卸载。

Implementation

FutureOr<int> preload(int effectId, NSString filePath) async {
  return await nativeCall('preload:filePath:', [effectId, filePath]);
}