音频格式转换Java代码,以mp3转amr为例
发布时间:2025-12-09 20:03:10
浏览次数:4
import ws.schild.jave.*;import java.io.File;public class VoiceToAmr {/**创建maven项目,导入依赖<dependency><groupId>ws.schild</groupId><artifactId>jave-all-deps</artifactId><version>2.6.0</version></dependency>*///程序员是不需要格式工厂的,直接自己写代码解决。算法如果我们写不来,我们可以做调包侠呀。技术都是站在巨人的肩膀上,我调包我快乐!没必要抵触。////以MP3转为amr格式举例:public static void main(String[] args) {System.out.println(m4aToWav());// encodingFormats();// codec();}public static boolean m4aToWav() {boolean succeeded = true;try {File source = new File("C:\\Users\\Administrator\\Desktop\\obj_wo3.mp3");File target = new File("C:\\Users\\Administrator\\Desktop\\targetnew1.amr");//Audio AttributesAudioAttributes audio = new AudioAttributes();// audio.setCodec("pcm_s16le");//wav// audio.setCodec("libmp3lame");//mp3audio.setCodec("libvo_amrwbenc");//amraudio.setBitRate(16000);audio.setChannels(1);audio.setSamplingRate(16000);//Encoding attributesEncodingAttributes attrs = new EncodingAttributes();attrs.setFormat("amr");attrs.setAudioAttributes(audio);//EncodeEncoder encoder = new Encoder();encoder.encode(new MultimediaObject(source), target, attrs);} catch (Exception ex) {ex.printStackTrace();succeeded = false;}return succeeded;}//对于格式属性,可以调整成需要的数值。如果需要其他的Codec,可以使用如下方法打印出所有支持的Codec,选择所需要的。public static void codec() {Encoder encoder = new Encoder();try {for (int i = 0; i < encoder.getAudioEncoders().length; i++) {System.out.println(encoder.getAudioEncoders()[i].toString());}} catch (EncoderException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//对于支持的格式种类,可以使用如下方法打印出所有支持的格式。public static void encodingFormats() {Encoder encoder = new Encoder();try {for (int i = 0; i < encoder.getSupportedEncodingFormats().length; i++) {System.out.println(encoder.getSupportedEncodingFormats()[i].toString());}} catch (EncoderException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}