package com.ruoyi.system.utils; import java.io.File; import java.util.Arrays; import java.util.List; /** * FFmpeg Opus转MP3测试工具 * * @author ruoyi */ public class FFmpegOpusTest { public static void main(String[] args) { System.out.println("=== FFmpeg Opus转MP3测试 ==="); // 测试FFmpeg是否可用 boolean isAvailable = FFmpegUtilsSimple.isFFmpegAvailable(); System.out.println("FFmpeg是否可用: " + isAvailable); if (!isAvailable) { System.out.println("FFmpeg不可用,测试终止"); return; } // 获取FFmpeg版本 String version = FFmpegUtilsSimple.getFFmpegVersion(); System.out.println("FFmpeg版本: " + version); // 测试音频格式检测 System.out.println("\n=== 音频格式检测测试 ==="); testAudioFormatDetection(); // 测试合并功能 System.out.println("\n=== 合并功能测试 ==="); testMergeFunction(); System.out.println("\n=== 测试完成 ==="); } /** * 测试音频格式检测 */ private static void testAudioFormatDetection() { // 这里可以添加一些测试文件路径 String[] testFiles = { "D:/ruoyi/uploadPath/upload/sound/2329/2025-08-02/wDoBh4bMpIXZcb9cc77fe118c54e5cba9ff87ec3ba12.durationTime=9472_20250802155052A017.mp3" }; for (String filePath : testFiles) { File file = new File(filePath); if (file.exists()) { String format = FFmpegUtilsSimple.detectAudioFormat(filePath); System.out.println("文件: " + filePath); System.out.println(" 存在: " + file.exists()); System.out.println(" 大小: " + file.length() + " bytes"); System.out.println(" 格式: " + format); System.out.println(); } else { System.out.println("文件不存在: " + filePath); } } } /** * 测试合并功能 */ private static void testMergeFunction() { // 使用实际的音频文件路径 List inputFiles = Arrays.asList( "D:/ruoyi/uploadPath/upload/sound/2329/2025-08-02/wDoBh4bMpIXZcb9cc77fe118c54e5cba9ff87ec3ba12.durationTime=9472_20250802155052A017.mp3" ); String outputFile = "C:/Users/user/AppData/Local/Temp/test_merged_output.mp3"; System.out.println("输入文件:"); for (String file : inputFiles) { File f = new File(file); String format = FFmpegUtilsSimple.detectAudioFormat(file); System.out.println(" " + file); System.out.println(" 存在: " + f.exists()); System.out.println(" 大小: " + f.length() + " bytes"); System.out.println(" 格式: " + format); } System.out.println("输出文件: " + outputFile); // 测试合并功能 System.out.println("开始测试合并功能..."); boolean success = FFmpegUtilsSimple.mergeAudioFiles(inputFiles, outputFile); System.out.println("合并结果: " + (success ? "成功" : "失败")); // 检查输出文件 File output = new File(outputFile); if (output.exists()) { System.out.println("输出文件存在,大小: " + output.length() + " bytes"); String outputFormat = FFmpegUtilsSimple.detectAudioFormat(outputFile); System.out.println("输出文件格式: " + outputFormat); } else { System.out.println("输出文件不存在"); } } }