从Java代码运行Sox命令

从Java代码运行Sox命令,java,command,sox,Java,Command,Sox,我试图从java代码运行SoX命令,但遇到一些困难。安装了SoX(声音交换)软件,但我不想从命令提示符下运行程序,而是想通过java代码运行程序并获得结果。我要运行的命令是: Sox -m sounda.wav soundb.wav final.wav 下面是我用来测试的示例代码: package soxcmd; import java.io.IOException; public class SoxCmd { public static void main(String[] args) t

我试图从java代码运行SoX命令,但遇到一些困难。安装了SoX(声音交换)软件,但我不想从命令提示符下运行程序,而是想通过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); 
}
}


我会感谢你在这方面的帮助。谢谢。

我从中得到灵感,找到了解决这个问题的方法

我使用“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()));

它正在工作。谢谢。

我从中得到灵感,找到了解决这个问题的方法

我使用“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()));

它正在工作。谢谢。

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


我已经围绕sox编写了一个小型包装应用程序。它在Github上免费提供。看,也许它能满足你的需要。该项目仍处于早期阶段,但您可能会发现它很有用


代码不起作用,也没有产生任何结果,所以我想知道代码出了什么问题,以及如何解决。为什么我的问题被否决了?毫无疑问,你只是希望我们为你编写代码。我想是你的解释吧。我发布了我的代码,只是它不起作用,我问出了什么问题。不管怎样,我已经克服了这一点。问题解决了。谢谢你的吝啬。代码不起作用,它不会产生任何结果,所以我想知道代码出了什么问题以及如何解决。为什么我的问题被否决了?毫无疑问,你只是希望我们为你编写代码。我想是你的解释吧。我发布了我的代码,只是它不起作用,我问出了什么问题。不管怎样,我已经克服了这一点。问题解决了。谢谢你的吝啬。