我正尝试在windows上的java程序中使用JAVE http://www.sauronsoftware.it/projects/jave/将flac转换为mp3。我已经下载了源代码等,我想知道如何将它添加到我的程序中?
发布于 2016-02-05 15:14:17
@Faendol :首先,您需要导入最新的JAVE jar,即jave-1.0.2.jar,您可以在google上搜索导入jar文件。
现在我已经创建了独立的程序来转换wav文件到mp3。(只是给你一个简单的想法)。示例进行了测试。同样,你也可以为FLAC文件实现它。但我怀疑你能用JAVE做到这一点,尽管它的网站上说可以!
import it.sauronsoftware.jave.AudioAttributes;
import it.sauronsoftware.jave.Encoder;
import it.sauronsoftware.jave.EncoderException;
import it.sauronsoftware.jave.EncodingAttributes;
import it.sauronsoftware.jave.InputFormatException;
import java.io.File;
import java.io.IOException;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.BadPaddingException;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.sound.sampled.UnsupportedAudioFileException;
public class AudioConverter {
public static void main(String[] args) throws IllegalArgumentException, InputFormatException, EncoderException, IOException, NoSuchAlgorithmException, InvalidKeyException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException, InvalidAlgorithmParameterException, UnsupportedAudioFileException{
String sourceFile = "D:\\source.wav";
String targetFile = "D:\\target.mp3";
int samplingRate = 16000;// this could be 8000, 16000 mono or 16000 stereo
int channels = 2;// this could be 1 for mono and 2 for stereo
int bitRate = 190000;// this could be 128, 160, 190 kbps, etc..
AudioAttributes audio = new AudioAttributes();
audio.setCodec("libmp3lame");
audio.setBitRate(bitRate);
audio.setChannels(channels);
audio.setSamplingRate(samplingRate);
EncodingAttributes ea = new EncodingAttributes();
ea.setAudioAttributes(audio);
ea.setFormat("mp3");
File f = new File(sourceFile);
Encoder e = new Encoder();
System.out.println(e.getInfo(f));
e.encode(f, new File(targetFile), ea);
}}https://stackoverflow.com/questions/35181255
复制相似问题