addAudioToVideo static method

Future<XFile> addAudioToVideo({
  1. void onStatistics(
    1. FFmpegStatistics
    )?,
  2. VideoExportFormat outputFormat = VideoExportFormat.mp4,
  3. String audioPath = '',
  4. String videoPath = '',
})

Implementation

static Future<XFile> addAudioToVideo({
  void Function(FFmpegStatistics)? onStatistics,
  VideoExportFormat outputFormat = VideoExportFormat.mp4,
  String audioPath = '',
  String videoPath = '',
}) async {
  final String outputPath = kIsWeb
      ? webOutputPath(outputFormat)
      : await ioOutputPath(videoPath, outputFormat);

  final String execute =
      '-i $videoPath -i $audioPath -map 0:v -map 1:a -c:v copy -shortest -y $outputPath';
  debugPrint('run export video command : [$execute]');

  return const FFmpegExport().executeFFmpegIO(
    execute: execute,
    outputPath: outputPath,
    outputMimeType: outputFormat.mimeType,
    onStatistics: onStatistics,
  );
}