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
相关推荐
Hello.Reader25 分钟前
从零到一上手 Protocol Buffers用 C# 打造可演进的通讯录
java·linux·c#
树码小子1 小时前
Java网络初识(4):网络数据通信的基本流程 -- 封装
java·网络
杨天天.1 小时前
小程序原生实现音频播放器,下一首上一首切换,拖动进度条等功能
前端·javascript·小程序·音视频
稻草人想看远方1 小时前
GC垃圾回收
java·开发语言·jvm
en-route2 小时前
如何在 Spring Boot 中指定不同的配置文件?
java·spring boot·后端
百锦再2 小时前
在 CentOS 系统上实现定时执行 Python 邮件发送任务
java·linux·开发语言·人工智能·python·centos·pygame
echoyu.2 小时前
消息队列-kafka完结
java·分布式·kafka
七夜zippoe2 小时前
分布式事务性能优化:从故障现场到方案落地的实战手记(二)
java·分布式·性能优化
栀椩2 小时前
springboot配置请求日志
java·spring boot·后端
番薯大佬2 小时前
Python学习-day8 元组tuple
java·python·学习