pushReferenceAudioPCMData method
@detail api
@region 自定义音频回声消除参考信号
@author cuiyao
@brief 向 SDK 发送由自定义处理后的 PCM 音频数据,作为回声消除的参考信号
@param audioFrame 音频数据帧,详见 AudioFrame{@link #AudioFrame}
@return 方法调用结果
+ 0:方法调用成功
+ <-1:方法调用失败
@note
+ 由于 RTC SDK 的帧长为 10 毫秒,你应当每隔 10 毫秒发送一次音频数据。确保音频采样点数(sample)x 发送频率等于 audioFrame 的采样率 (sampleRate)。如设置采样率为 48000 时,每 10 毫秒调用本接口发送数据,每次应发送 480 个采样点。
+ 音频采样格式为 S16。音频缓冲区内的数据格式为 PCM 数据,其容量大小为 audioFrame.samples × audioFrame.channel × 2。
Implementation
Future<int?> pushReferenceAudioPCMData(AudioFrame audioFrame) async {
$a() => ($instance as $p_a.RTCEngine)
.pushReferenceAudioPCMData(unpackObject<$p_a.AudioFrame>(audioFrame));
$i() => ($instance as $p_i.ByteRTCEngine).pushReferenceAudioPCMData(
unpackObject<$p_i.ByteRTCAudioFrame>(audioFrame));
if (Platform.isAndroid) {
return $a();
} else if (Platform.isIOS) {
return $i();
} else {
throw UnsupportedError(
'Not Support Platform ${Platform.operatingSystem}');
}
}