我用终端执行 lame -b 16 /java/5/a.wav
生成的是缩小的a.mp3文件 , 是正确的,
但是我用Java代码
Process p=run.exec("lame -b 16 /java/5/a.wav");
生成的文件是a.mp3 但是生成的也是a.mp3,但是好像是文本,不是mp3文件 而且是0kb
为什么?
源码
public static void main(String[] args) {
String localhost_dir = "";
Runtime run = null;
try {
run = Runtime.getRuntime();
//调用解码器来将wav文件转换为mp3文件
Process p=run.exec("lame /java/5/a.wav"); // lame 你的.wav文件
//释放进程
p.getOutputStream().close();
p.getInputStream().close();
p.getErrorStream().close();
p.waitFor();
} catch (Exception e) {
e.printStackTrace();
}finally{
//最后都要执行的语句
//run调用lame解码器最后释放内存
run.freeMemory();
}
}
p.waitFor();
放 p.getOutputStream().close();
之前试试
l厉害了我的哥