多个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();  
        }  
    }  
}
相关推荐
Qiuner2 分钟前
Spring Boot 机制三: ApplicationContext 生命周期与事件机制源码解析
java·spring boot·后端·生命周期·事件机制
李景琰2 分钟前
JDK25 Scoped Values:为虚拟线程时代重构的线程上下文共享方案
java·jvm·重构
u***1377 分钟前
Spring Cloud Gateway 整合Spring Security
java·后端·spring
听风吟丶9 分钟前
Java 响应式编程实战:Spring WebFlux+Reactor 构建高并发电商系统
java·开发语言·spring
_院长大人_9 分钟前
在 CentOS 系统上使用安装并用alternatives切换 JDK17(与 JDK8 共存指南)
java·linux·运维·centos
遇到困难睡大觉哈哈11 分钟前
Harmony os——ArkTS 语言笔记(七):注解(Annotation)实战理解
java·笔记·ubuntu·harmonyos·鸿蒙
数新网络12 分钟前
CyberAI多模态数据平台焕新升级!七大核心功能解锁高效管理新体验
java·网络·人工智能
Highcharts.js12 分钟前
Renko Charts|金融图表之“砖形图”
java·前端·javascript·金融·highcharts·砖型图·砖形图
L***d67015 分钟前
Spring Boot 经典九设计模式全览
java·spring boot·设计模式
我命由我1234515 分钟前
Android 开发问题:布局文件中的文本,在预览时有显示出来,但是,在应用中没有显示出来
android·java·java-ee·android studio·android jetpack·android-studio·android runtime