java wav文件转换为mp3

ps:利用jave官网提供的jar来解决这一问题。
资源下载地址http://www.sauronsoftware.it/projects/jave/download.php
这里选择的是 Binaries and documentation 1.0.1
转换文件工具类

import java.io.File;

import it.sauronsoftware.jave.AudioAttributes;
import it.sauronsoftware.jave.Encoder;
import it.sauronsoftware.jave.EncodingAttributes;

public class AudioUtils {
    public static boolean wavTomp3(String inPath,String outFile){
        boolean status=false;
        File file=new File(inPath);
        try {
            execute(file,outFile);
            status=true;
        } catch (Exception e) {
            // TODO Auto-generated catch block
            status=false;
            e.printStackTrace();
        }
        return status;
    }

     /** 
     * 执行转化
     *  
     * @param source 
     *            输入文件
     * @param desFileName  目标文件名
     * @return  转换之后文件
     */  
    public static File execute(File source, String desFileName)  
            throws Exception {  
        File target = new File(desFileName);  
        AudioAttributes audio = new AudioAttributes();  
        audio.setCodec("libmp3lame");  
        audio.setBitRate(new Integer(36000));
        audio.setChannels(new Integer(2));  
        audio.setSamplingRate(new Integer(44100));  
        EncodingAttributes attrs = new EncodingAttributes();  
        attrs.setFormat("mp3");  
        attrs.setAudioAttributes(audio);  
        Encoder encoder = new Encoder();  
        encoder.encode(source, target, attrs);  
        return target;  
    }  
}

完成wav文件的转换
将wav文件进行转换为mp3之后文件大小会有显著的降低。通过控制相对应的参数来解决音质问题。

pcm文件保存为mp3
……待续!

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要将二进制流中的 MP3 文件转换WAV 文件,可以使用 Java 中的 JLayer 库和 Tritonus 库。 首先,您需要从以下网址下载 JLayer 库和 Tritonus 库: - JLayer: http://www.javazoom.net/javalayer/javalayer.html - Tritonus: http://www.tritonus.org/plugins.html 将这些库文件添加到您的 Java 项目中,并使用以下代码将二进制流中的 MP3 文件转换WAV 文件: ```java import java.io.*; import javax.sound.sampled.*; import javazoom.jl.decoder.*; public class MP3toWAVConverter { public static void convert(InputStream mp3Stream, String outputFilename) throws IOException, UnsupportedAudioFileException, Exception { OutputStream out = new FileOutputStream(outputFilename); Decoder decoder = new Decoder(); AudioFormat format = new AudioFormat(44100, 16, 2, true, false); javax.sound.sampled.AudioInputStream ais = new javax.sound.sampled.AudioInputStream(new BufferedInputStream(new DecoderInputStream(mp3Stream)), format, DecoderInputStream.getLength()); AudioSystem.write(ais, AudioFileFormat.Type.WAVE, out); out.close(); } } ``` 在上面的代码中,我们使用 JLayer 库的 Decoder 类将 MP3 文件解码为音频流,然后使用 Java 内置的 AudioSystem 类将音频流写入 WAV 文件。 要使用上面的代码,只需调用 `MP3toWAVConverter.convert(mp3Stream, outputFilename)` 方法并传入包含 MP3 文件二进制流的 InputStream 对象以及要输出的 WAV 文件名。转换后的 WAV 文件将保存在指定的输出文件名下。 注意,这种方法可能会导致转换后的 WAV 文件大小较大,因为 WAV 格式的音频文件通常比 MP3 格式的文件更大。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值