⾳频格式转换Java代码,以mp3转amr为例
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 Attributes
AudioAttributes audio = new AudioAttributes();
//            audio.setCodec("pcm_s16le");//wav
//            audio.setCodec("libmp3lame");//mp3
audio.setCodec("libvo_amrwbenc");//amr
audio.setBitRate(16000);
audio.setChannels(1);
audio.setSamplingRate(16000);
//Encoding attributes
EncodingAttributes attrs = new EncodingAttributes();
attrs.setFormat("amr");
attrs.setAudioAttributes(audio);
//Encode
Encoder encoder = new Encoder();
} 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 < AudioEncoders().length; i++) {
System.out.AudioEncoders()[i].toString());
}
} catch (EncoderException e) {
// TODO Auto-generated catch block
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//对于⽀持的格式种类,可以使⽤如下⽅法打印出所有⽀持的格式。
public static void encodingFormats() {
Encoder encoder = new Encoder();
try {
for (int i = 0; i < SupportedEncodingFormats().length; i++) {
System.out.SupportedEncodingFormats()[i].toString());            }
} catch (EncoderException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。