我需要WAV格式的音频文件来实现一些功能,但如果客户端传输AMR格式的音频文件到服务器,我需要将其转换为WAV格式。现在我正在使用JAVE库文件将其他格式的音频媒体文件转换为WAV格式。一切都很顺利,但当我接收AMR音频文件时,它会抛出异常,例如"it.sauronsoftware.jave.EncoderException:Duration:N / A,bitrate:N / A"。
/**
* method to convert all media format to wav format
*
* @param fileLoc
* @return
*/
public static String universalContentToWav(String fileLoc) {
String location = SoundWaveConstants.AUDIO_LOCATION + new Date().getTime() + ".wav";
AudioAttributes audio = new AudioAttributes();
audio.setCodec("pcm_s16le");
EncodingAttributes attrs = new EncodingAttributes();
attrs.setFormat("wav");
attrs.setAudioAttributes(audio);
Encoder encoder = new Encoder();
try {
encoder.encode(new File(fileLoc), new File(location), attrs);
System.out.println("done");
} catch (Exception e) {
e.printStackTrace();
}
return location;
}
我正在使用来自http://www.sauronsoftware.it/projects/jave/的Java库文件。 有没有办法将AMR文件转换成WAV或者需要修改我的代码?提前感谢。