从Java代码运行Sox命令

时间:2013-01-20 11:27:29

标签: java command sox

我正在尝试从java代码运行SoX命令但遇到一些困难。安装了SoX(SOund eXchange)软件,但不是从命令提示符运行程序,我想运行程序并通过我的java代码获得结果。我想要运行的命令是:

Sox -m sounda.wav soundb.wav final.wav

以下是我用来测试的示例代码:

package soxcmd;
import java.io.IOException;

public class SoxCmd {
public static void main(String[] args) throws IOException {
    String path = "c:\\sox";
    String[] mystring = {path + "\\sox -m", path + "\\fdir\\sounda.wav", path + "\\fdir\\soundb.wav", path + "\\bdfiles\\final.wav"};
    Runtime.getRuntime().exec(mystring); 
}

}

我将非常感谢你的帮助。感谢。

2 个答案:

答案 0 :(得分:1)

我从http://www.linglom.com/2007/06/06/how-to-run-command-line-or-execute-external-application-from-java/

的灵感中找到了解决这个问题的方法

我绝对使用“c:\ sox \ sox.exe”调用sox 我也使用绝对路径,因为它似乎相对路径不起作用,我发送整个字符串,就像我在命令行一样。所以我有

Process pr;  
pr = rt.exec("c:\\sox\\sox.exe c:\\sox\\files\\filea.wav c:\\sox\\files\\fileb.wav c:\\sox\\files\\filec.wav");
BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));

现在正在运作。感谢。

答案 1 :(得分:0)

我在sox周围编写了一个小包装应用程序。它可以在Github上免费获得。看,也许它会满足您的需求。该项目仍处于早期阶段,但也许你会发现它很有用。

Java wrapper around soundeXchange available on GitHub

相关问题