多个MP3音频合成

FFmpeg详细安装步骤和使用笔记 - 知乎

java 复制代码
package com.bootdo;

import java.io.BufferedReader;
import java.io.IOException;  
import java.io.InputStreamReader;  
  
public class Mp3Merger {  
  
    public static void main(String[] args) {  
        String ffmpegPath = "ffmpeg"; // 或者指定FFmpeg的完整路径,例如 "/usr/bin/ffmpeg"

        String input1 = "D:/ZHJQDoc/" + "智慧广播前奏.MP3";
        //合并音频
        String input2 = "D:/ZHJQDoc/烟花爆竹.MP3";
        // 输出文件
        String output = "D:/ZHJQDoc/merged.mp3";

  
        // 构建FFmpeg命令  
        String[] command = {  
            ffmpegPath,  
            "-i", input1,  
            "-i", input2,  
            "-filter_complex", "[0:a:0][1:a:0]concat=n=2:v=0:a=1[a]",  
            "-map", "[a]",  
            "-acodec", "libmp3lame",  
            "-ab", "159k",
            "-ar", "48000",
            output  
        };  
  
        // 执行FFmpeg命令  
        ProcessBuilder processBuilder = new ProcessBuilder(command);  
        processBuilder.redirectErrorStream(true); // 合并stdout和stderr  
  
        try {  
            Process process = processBuilder.start();  
  
            // 读取FFmpeg的输出  
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));  
            String line;  
            while ((line = reader.readLine()) != null) {  
                System.out.println(line);  
            }  
  
            // 等待进程完成  
            int exitCode = process.waitFor();  
            if (exitCode == 0) {  
                System.out.println("MP3 files merged successfully.");  
            } else {  
                System.out.println("FFmpeg exited with error code " + exitCode);  
            }  
  
        } catch (IOException | InterruptedException e) {  
            e.printStackTrace();  
        }  
    }  
}
相关推荐
阿华hhh2 分钟前
day2(IMX6ULL)<led(c语言版)>
java·c语言·jvm
计算机毕设指导65 分钟前
基于微信小程序的奶茶店点餐系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
bloglin999996 分钟前
hub.docker.com和docker.com
java·docker·eureka
若鱼19197 分钟前
SpringBoot4.0新特性-声明式HTTP远程调用客户端
java·spring
信创天地7 分钟前
信创环境下数据库与中间件监控实战:指标采集、工具应用与告警体系构建
java·运维·数据库·安全·elk·华为·中间件
无籽西瓜a9 分钟前
详解Stream流特性与常用操作
java
H Corey10 分钟前
Java抽象类与接口实战指南
java·开发语言·学习·intellij-idea
昊坤说不出的梦11 分钟前
互联网大厂Java面试实录:核心技术栈深度解析与业务场景落地
java·大数据·spring boot·微服务·ai·技术栈·互联网面试
mr_orange_klj12 分钟前
关于K8s身份权限的AI问答(豆包)
java·容器·kubernetes
徐先生 @_@|||12 分钟前
JetBrains 公司的产品策略和技术架构(IDEA(Java)和Pycharm(Python)的编辑器)
java·python·架构