作者:cndz 围观群众:680 更新于 标签:java音频转码工具类在线工具类
JAVE2 (Java Audio Video Encoder)库是ffmpeg项目的Java包装器。开发人员可以利用JAVE2将音频和视频文件从一种格式转换为另一种格式例如,您可以将AVI文件转码为MPEG文件,可以将DivX视频流更改为(类似youtube的)Flash FLV视频流,可以将WAV音频文件转换为MP3或Ogg Vorbis音频文件,可以分离和转码音频和视频轨道,可以调整视频大小,更改其大小和比例等等。
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave-all-deps</artifactId>
<version>2.7.1</version>
<exclusions>
<!-- 排除windows 32位系统 -->
<exclusion>
<groupId>ws.schild</groupId>
<artifactId>jave-nativebin-win32</artifactId>
</exclusion>
<!-- 排除linux 32位系统 -->
<exclusion>
<groupId>ws.schild</groupId>
<artifactId>jave-nativebin-linux32</artifactId>
</exclusion>
<!-- 排除Mac系统-->
<exclusion>
<groupId>ws.schild</groupId>
<artifactId>jave-nativebin-osx64</artifactId>
</exclusion>
<!-- 排除osxm-->
<exclusion>
<groupId>ws.schild</groupId>
<artifactId>jave-nativebin-osxm1</artifactId>
</exclusion>
<!-- 排除arm-->
<exclusion>
<groupId>ws.schild</groupId>
<artifactId>jave-nativebin-linux-arm32</artifactId>
</exclusion>
<exclusion>
<groupId>ws.schild</groupId>
<artifactId>jave-nativebin-linux-arm64</artifactId>
</exclusion>
</exclusions>
</dependency>
package top.jhone.common.utils;
import lombok.extern.slf4j.Slf4j;
import ws.schild.jave.AudioAttributes;
import ws.schild.jave.Encoder;
import ws.schild.jave.EncodingAttributes;
import ws.schild.jave.MultimediaObject;
import java.io.File;
/**
* @author:zzy
* @date:Created in 2023/5/21 17:50
* @modified By:zzy
*/
@Slf4j
public class AudioConvertUtil {
public static String convertwav(String sourcePath, String targetPath) {
File source = new File(sourcePath);
File target = new File(targetPath);
boolean rs = false;
try {
// Audio Attributes
AudioAttributes audio = new AudioAttributes();
audio.setCodec("pcm_s16le");
audio.setBitRate(16000);
audio.setChannels(1);
audio.setBitRate(16000);
audio.setSamplingRate(16000);
// Encoding attributes
EncodingAttributes attrs = new EncodingAttributes();
attrs.setFormat("wav");
attrs.setAudioAttributes(audio);
// Encode
Encoder encoder = new Encoder();
encoder.encode(new MultimediaObject(source), target, attrs);
rs = true;
} catch (Exception e) {
log.error("convertMP3 errpr : ", e);
}
return targetPath;
}
public static String convertMp3 (String sourcePath, String targetPath) {
File source = new File(sourcePath);
File target = new File(targetPath);
boolean rs = false;
try {
// Audio Attributes
AudioAttributes audio = new AudioAttributes();
audio.setCodec("libmp3lame");
audio.setBitRate(new Integer(128000));
audio.setChannels(new Integer(2));
audio.setSamplingRate(new Integer(44100));
// Encoding attributes
EncodingAttributes attrs = new EncodingAttributes();
attrs.setFormat("mp3");
attrs.setAudioAttributes(audio);
// Encode
Encoder encoder = new Encoder();
encoder.encode(new MultimediaObject(source), target, attrs);
} catch (Exception e) {
log.error("convertMP3 errpr : ", e);
}
return targetPath;
}
}