Atitit java wav 压缩 mp3功能总结 目录 1.1. Lame mp3编码器 1 1.2. 使用时发现错误,不支持Unsupported number of channels: 4

Atitit  java wav 压缩 mp3功能总结

 

目录

1.1. Lame mp3编码器 1

1.2. 使用时发现错误,不支持Unsupported number of channels: 4d 3

1.3. 放弃lame,使用ffmpeg ok 3

1.4. Java源码 4

 

 

    1. Lame mp3编码器

 

的任务就是实现音频压缩了,搜了几天,找到了一个不错的软件Monkey Audio(实现说明,我们的项目得全是代码实现的),这个软件的开源的,但是在官网下载的源代码经过我们一个下午的测试,竟然跟最新软件的压缩差的很远,于是我们便尝试走其他的路,比如:音频格式转换也可以达到音频压缩的目的,于是便搜类似的东西,于是便找到了Lame解码器。

 

百度百科普及:

 

LAME 是最好的MP3编码器,编码高品质MP3的最好也是唯一的选择。LAME本身是DOS下的文件,需要加外壳程序才比较容易使用,也可以在别的软件(比如EAC)中间调用。是一款出色的MP3压缩程序,它使用了独创的人体听音心理学模型和声学模型,改变了人们对MP3高音发哑、低音发破的音质的印象。

 

然后我就通过代码在程序调用这个解码器,实现了最后的音频格式转换,当然也达到的压缩的目地,并且经过大量的测试,效果非常不错,并没有损坏音频,同时压缩比很高。

---------------------

事先说明:Lame.exe文件必须得有,并且在程序调用的时候,如果没在java的src同一个文件夹下的话,必须在程序中使用绝对路径,否则报错。

 

LAME是一个非常著名的HIFI级mp3制作工具,可以说是MP3历史上革命性的东西。MP3最受争议的就是音质问题,其高频损失很大,很多mp3编码器粗糙的编码算法不但导致高频丢失,还丢失了许多细节,类似吉他擦弦的感觉在MP3中是找不到的。 在对MP3快要失望时,Lame从天而降,我抱着怀疑的态度试用了她,结果令人惊讶不已,立刻删除硬盘上所有的MP3和其他编码器,全部用Lame重新来过。这个是Lame的最新版,有着不小的改进,你会在使用中发现。

 

 

不用说,ffmpeg是一个太牛犇的视频处理库。但是在音频处理(转换)方面,确实让人捉急。有时还有依赖其他音频转换库。不过,这不会让我减少对它的膜拜之情。

 

先上重头 wav转MP3

 

0.转换wav到mp3:

 

ffmepg -i input.wav -f mp3 -acodec libmp3lame -y output.mp3

 

注:这需要在ffmpeg中加入libMP3lame库(如果研究过wav转MP3的童鞋,肯定见过它),但是,怎么把它加到ffmpeg中,我也母鸡啊,不懂c。

 

所以,找到另一种中转的方法,就是MP2.尝试了,no问题。

 

ffmepg -i input.wav -f mp2 output.mp3

---------------------

作者:zrbcsdn

来源:CSDN

原文:https://blog.csdn.net/zrbcsdn/article/details/50460274

版权声明:本文为博主原创文章,转载请附上博文链接!

 

    1. 使用时发现错误,不支持Unsupported number of channels: 4d

D:\lame4.0a14\lame.exe -m m C:\Users\Administrator\Desktop\qq\1466519819\FileRecv\20181120院长讲酒会项目.wav    20181120院长讲酒会项目.mp3

 

C:\Users\Administrator>D:\lame4.0a14\lame.exe -m m C:\Users\Administrator\

LAME version 4.0 (alpha 14, Sep 25 2005 10:04:14) (http://www.mp3dev.org/)

 

warning: alpha versions should be used for testing only

 

Unsupported number of channels: 4d

 

    1. 放弃lame,使用ffmpeg ok

 

D:\KMPlayer\ffmpeg.exe -i C:\Users\Administrator\Desktop\qq\1466519819\FileRecv\20181120院长讲酒会项目.wav    20181120院长讲酒会项目.mp3

 

ffmpeg -i a.wav a.mp3

 

    1. Java源码

 

package com.example.myFirstProject;

 

import java.io.IOException;

 

public class wav2mp3 {

 

public static void main(String[] args) throws IOException {

String p="C:\\Users\\Administrator\\Desktop\\qq\\1466519819\\FileRecv\\20181120院长讲酒会项目.wav";

 

String exe="D:\\lame4.0a14\\lame.exe";

 

String ffmpeg="D:\\KMPlayer\\ffmpeg.exe ";

 

 String command = ffmpeg +" -i  "+ p +"  d:\\20181120院长讲酒会项目.mp3";

 System.out.println(command);

Process Process1=  Runtime.getRuntime().exec( command );

 System.out.println("==f");

 

}

 

}

 

猜你喜欢

转载自blog.csdn.net/attilax/article/details/84329981