【发布时间】:2012-09-11 06:56:47
【问题描述】:
我正在尝试从 java 执行 SOX 命令,但不幸的是它每次都返回错误。不过,其他所有 SOX 命令都可以正常工作!! 这是代码:
class Simple {
public static void main(String args[]) throws IOException, Exception {
Process p;
BufferedReader br;
String co = "sox speech_16.wav -p pad 0 2.5 | sox - -m speech_16.wav speech_output.wav";
p = Runtime.getRuntime().exec(co);
br = new BufferedReader(new InputStreamReader(p.getInputStream()));
int returnCode = p.waitFor();
System.out.println("reurn code : "+returnCode);
}
}
当我在终端中执行相同的 sox 命令时,它工作正常。实在看不懂是什么问题!!是不是因为'|'象征??
【问题讨论】:
-
它返回1。实际上它应该返回0。
-
sox 的返回码 1 是什么意思(查看手册页)?
-
@codebox 表示其输出中存在一些错误或“输出文件”尚未生成!根据上面的命令,它应该生成一个名为“speech_output.wav”的文件。
-
@codebox 问题不在于命令!我认为[我不确定]问题出在字符串被解析时!!