registerAudioProcessor method

Future<int?> registerAudioProcessor(
  1. IAudioFrameProcessor processor
)

@detail api @author gongzhengduo @brief 注册自定义音频处理器。
注册完成后,你可以调用 enableAudioProcessor{@link #RTCEngine#enableAudioProcessor},对本地采集到的音频进行处理,RTC SDK 将对处理后的音频进行编码和发送。也可以对接收到的远端音频进行自定义处理,RTC SDK 将对处理后的音频进行渲染。 @param processor 自定义音频处理器,详见 IAudioFrameProcessor{@link #IAudioFrameProcessor}。
SDK 只持有 processor 的弱引用,你应保证其生命周期。需要取消注册时,设置此参数为 nullptr。 @return - 0: 调用成功。 - < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明 @note

  • 重复调用此接口时,仅最后一次调用生效。
  • 更多相关信息,详见音频自定义处理

Implementation

Future<int?> registerAudioProcessor(IAudioFrameProcessor processor) async {
  $a() => ($instance as $p_a.RTCEngine).registerAudioProcessor(
      packObject(processor, () => android_IAudioFrameProcessor()));
  $i() => ($instance as $p_i.ByteRTCEngine).registerAudioProcessor(
      packObject(processor, () => ios_IAudioFrameProcessor()));

  if (Platform.isAndroid) {
    return $a();
  } else if (Platform.isIOS) {
    return $i();
  } else {
    throw UnsupportedError(
        'Not Support Platform ${Platform.operatingSystem}');
  }
}