Вместо использования exec(String)
используйте exec(String[])
(из Runtime
).Вторая форма позволяет вам указывать все аргументы индивидуально, чтобы Java не анализировала их дальше и не разделялась на пробелы.
Пример:
Process proc = Runtime.getRuntime().exec(
new String[]{"ffmpeg", "-ac", "1", "-i",videoFile.getPath()), audioFile.getPath()}
);
Вы всегда должны использоватьвторая форма, если ваши аргументы могут содержать пробелы, в противном случае ваша команда может прерваться.