javacodeadmin/ruoyi-system/src/main/java/com/ruoyi/system/utils/FFmpegOpusTest.java

104 lines
3.7 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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<String> 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("输出文件不存在");
}
}
}