registerAudioProcessor method
@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}');
}
}