java中合并音频

因为需求的原因需要将多个音频(.mp3格式)合并为一个音频

1、在电脑/服务器安装 ffmpeg

brew install ffmpeg

java 复制代码
public static Integer combine(String commandFix, List<String> filePaths, String combinePath) {
       try {

           StringBuilder command = new StringBuilder(commandFix + " -i \"concat:");
           for (String path : filePaths) {
               command.append(path).append("|");
           }
           command.append("\" -acodec copy ").append(combinePath).append(" -y");

           logger.info("执行合并音频代码--" + command);

           //拼接ffmpeg命令
           Process process = null;
           Thread.sleep(1000);
           //执行本地命令
           Runtime r = Runtime.getRuntime();

           String[] cmd = new String[]{"sh", "-c", command.toString()};

           process = r.exec(cmd);
           return process.waitFor();
       } catch (Exception e)  {
           logger.error("FFmpeg 执行失败,错误码",e);
           return -1;
       }

    }

参数说明

java 复制代码
commandFix:命令 sudo /usr/local/ffmpeg/bin/ffmpeg
filePaths: 文件列表 服务器对应的文件地址 如:/var/www/file/1.mp3
combinePath:合并后文件的路径 /var/www/file/new.mp3
相关推荐
MrSYJ3 分钟前
为什么HttpSecurity会初始化创建两次
java·后端·程序员
hinotoyk8 分钟前
TimeUnit源码分享
java
AAA修煤气灶刘哥1 小时前
Java+AI 驱动的体检报告智能解析:从 PDF 提取到数据落地全指南
java·人工智能·后端
wxy3191 小时前
嵌入式LINUX——————TCP并发服务器
java·linux·网络
★YUI★1 小时前
学习游戏制作记录(玩家掉落系统,删除物品功能和独特物品)8.17
java·学习·游戏·unity·c#
微小的xx1 小时前
java + html 图片点击文字验证码
java·python·html
mask哥2 小时前
详解flink java基础(一)
java·大数据·微服务·flink·实时计算·领域驱动
克拉克盖博2 小时前
chapter03_Bean的实例化与策略模式
java·spring·策略模式
DashVector2 小时前
如何通过Java SDK分组检索Doc
java·数据库·面试
程序员清风2 小时前
跳表的原理和时间复杂度,为什么还需要字典结构配合?
java·后端·面试