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
相关推荐
yaoxin52112341 分钟前
434. Java 日期时间 API - Period 基于日期的时间段
java·开发语言·python
何极光2 小时前
IDEA集成Maven
java·maven·intellij-idea
程序员二叉2 小时前
【JUC】ThreadLocal底层原理|内存泄漏|弱引用|跨线程传递方案
java·开发语言·面试·职场和发展·juc
程序员二叉2 小时前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理
java·开发语言·jvm·算法·面试·juc
老马识途2.02 小时前
在AI的帮助下理解spring的启动过程
java·前端·spring
青山木2 小时前
Hot 100 --- 轮转数组
java·数据结构·算法
Qt程序员3 小时前
掌握 Linux 内核调度:从原理到实现(进程篇)
java·开发语言
code bean3 小时前
【LangChain】检索器完全指南:从向量检索到生产级 RAG 架构
java·开发语言·微服务
大白菜和MySQL3 小时前
java应用排查高线程
java·python
KobeSacre3 小时前
ReentrantLock源码
java