|
@@ -89,19 +89,30 @@ public class FfmpegServiceImpl implements IFfmpegService {
|
|
|
*/
|
|
|
@Override
|
|
|
public void audioMosaic(String audioPart1, String audioPart2, String finalAudio) {
|
|
|
- List<String> command = new ArrayList<>();
|
|
|
- command.add(FFMPEG_PATH);
|
|
|
- command.add("-i");
|
|
|
- command.add(audioPart1);
|
|
|
- command.add("-i");
|
|
|
- command.add(audioPart2);
|
|
|
- command.add("-filter_complex");
|
|
|
- command.add("\"[0:0] [1:0] concat=n=2:v=0:a=1 [a]\"");
|
|
|
- command.add("-map");
|
|
|
- command.add("[a]");
|
|
|
- command.add(finalAudio);
|
|
|
- runCommand(command);
|
|
|
- log.info("音频文件合成成功:{}", finalAudio);
|
|
|
+ StringBuffer command = new StringBuffer();
|
|
|
+ command.append(FFMPEG_PATH);
|
|
|
+ command.append(" -i ");
|
|
|
+ command.append(audioPart1);
|
|
|
+ command.append(" -i ");
|
|
|
+ command.append(audioPart2);
|
|
|
+ command.append(" -filter_complex ");
|
|
|
+ command.append("\"[0:0] [1:0] concat=n=2:v=0:a=1 [a]\"");
|
|
|
+ command.append(" -map ");
|
|
|
+ command.append(" [a] ");
|
|
|
+ command.append(finalAudio);
|
|
|
+ Runtime runtime = Runtime.getRuntime();
|
|
|
+ Process pro = null;
|
|
|
+ try {
|
|
|
+ pro = runtime.exec(command.toString());
|
|
|
+ int status = pro.waitFor();
|
|
|
+ if (status == 0) {
|
|
|
+ log.info("音频文件合成成功:{}", command.toString());
|
|
|
+ } else {
|
|
|
+ log.info("视音频文件合成失败:{}", command.toString());
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|