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
相关推荐
wszy180923 分钟前
外部链接跳转:从 App 打开浏览器的正确姿势
java·javascript·react native·react.js·harmonyos
期待のcode29 分钟前
认识Java虚拟机
java·开发语言·jvm
raining_peidx33 分钟前
xxljob源码
java·开发语言
肥猪猪爸33 分钟前
双重检查锁(DCL)与 volatile 的关键作用
java·开发语言·单例模式
yaoxin52112342 分钟前
289. Java Stream API - 从字符串的字符创建 Stream
java·开发语言
浮游本尊1 小时前
Java学习第35天 - 分布式系统深入与大数据处理
java
2301_780669861 小时前
Set集合、HashSet集合的底层原理
java
你曾经是少年1 小时前
Java 关键字
java
知南x1 小时前
【STM32MP157 视频监控项目】(2) 移植 Nginx
stm32·nginx·音视频
海南java第二人1 小时前
SpringBoot启动流程深度解析:从入口到容器就绪的完整机制
java·开发语言