pushReferenceAudioPCMData method

Future<int?> pushReferenceAudioPCMData(
  1. AudioFrame audioFrame
)

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