startFileRecording method

Future<int?> startFileRecording({
  1. required RecordingConfig config,
  2. required RecordingType recordingType,
})

@detail api @hiddensdk(audiosdk) @author wangzhanqiang @brief 该方法将通话过程中的音视频数据录制到本地的文件中。 @param config 本地录制参数配置,参看 RecordingConfig{@link #RecordingConfig} @param recordingType 本地录制的媒体类型,参看 RecordingType{@link #RecordingType}
注意:屏幕流仅支持录制视频(RECORD_VIDEO_ONLY);主流支持录制所有类型。 @return 0: 正常
-1: 参数设置异常
-2: 当前版本 SDK 不支持该特性,请联系技术支持人员 @note - 该方法需在进房后调用。 - 调用该方法后,你会收到 onRecordingStateUpdate{@link #IRTCEngineEventHandler#onRecordingStateUpdate} 回调。 - 如果录制正常,系统每秒钟会通过 onRecordingProgressUpdate{@link #IRTCEngineEventHandler#onRecordingProgressUpdate} 回调通知录制进度。

Implementation

Future<int?> startFileRecording(
    {required RecordingConfig config,
    required RecordingType recordingType}) async {
  $a() => ($instance as $p_a.RTCEngine).startFileRecording(
      unpackObject<$p_a.RecordingConfig>(config),
      t_RecordingType.code_to_android(recordingType));
  $i() => ($instance as $p_i.ByteRTCEngine).startFileRecording(
      unpackObject<$p_i.ByteRTCRecordingConfig>(config),
      t_RecordingType.code_to_ios(recordingType));

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