常见做法是使用java命令调c的包装程序,这种有局限性.这里介绍一种纯java的解决方案.这个库是java版本的lame,相当于将c版本的lame重新用java写了一遍,这样就不需要将c程序包装在jar里面了.List de.sciss jump3rargList = new ArrayList<>(); argList.add("-h")); argList.add(sourceFile); argList.add(mp3RecordFile); new Main().run(argList.toArray(new String[0])); 上面是最基本的做法,将双声道的wav转化为双声道的mp3,会自动去掉噪音,效果比较好. lame还有很多其他用,比如将双声道wav转换为单声道mp3是使用-a命令.官方还有一种LameEncoder直接调api的方式,但是测试下来发现这种有噪音,效果差. 更多参数可以查看lame官方用法.