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