FFmpeg
0
Вклад в тег
val inputMp31 = File(fileAdapter.selectedFilesList[0].file!!.absolutePath)
val inputMp32 = File(fileAdapter.selectedFilesList[1].file!!.absolutePath)
val outputMp3 = File("/data/user/0/путь/к/файлу/merged.mp3")
mergeMP3Files(outputMp3, inputMp31, inputMp32)
fun mergeMP3Files(outputFile: File, vararg inputFiles: File) {
// Создаем список аргументов для запуска FFmpeg
val arguments = mutableListOf<String>()
// Добавляем аргументы для конкатенации файлов
for (i in inputFiles.indices) {
arguments.add("-i")
arguments.add(inputFiles[i].absolutePath)
}
// Добавляем аргументы для формата выходного файла и пути к нему
arguments.add("-filter_complex")
arguments.add("concat=n=${inputFiles.size}:v=0:a=1[out]")
arguments.add("-map")
arguments.add("[out]")
arguments.add(outputFile.absolutePath)
try {
val returnCode = FFmpegKit.execute(arguments.joinToString(" "))
Log.d("FFmpeg merge", returnCode.toString())
}catch (e: Exception) {
Log.e("FFmpeg merge", "failure $e")
}
}