Hi,
Problem jest następujący. Mam na windzie program do łączenia plików wav, obsługiwany z konsoli nazwa SoX.
Do rzeczy, składnia jest prosta sox plika.wav plikb.wav wyjscoiwyplik.wav. Po usunieciu w kodzie programu nazw plikow muzycznych, progrogram się włącza ale to samo moge zrobić z cmd... a potrzebuję to zautomatyzować i odpowiednio zapętlić.
Jeszcze jedno, SoX z cmd działa mi tylko gdy jestem tam jako Administrator...
Kod programu wywala mi coś takiego:
Exited with error code 2
Zamieszczam kod programu:
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class cze {
public static void main(String args[]) {
try {
Runtime rt = Runtime.getRuntime();
String x = "c:\\Program Files\\sox-14-4-1\\sox.exe c:\\Program Files\\sox-14-4-1\\dupa1.wav c:\\Program Files\\sox-14-4-1\\dupa2.wav c:\\Program Files\\sox-14-4-1\\filec.wav";
// String[] co = { "cmd", "/c", "c:\\Program Files\\sox-14-4-1\\sox.exe" };
Process pr;
pr = rt.exec(x);
BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line=null;
while((line=input.readLine()) != null) {
System.out.println(line);
}
int exitVal = pr.waitFor();
System.out.println("Exited with error code "+exitVal);
} catch(Exception e) {
System.out.println(e.toString());
e.printStackTrace();
}
}
}
Uprzedzam, że już przejrzałem google i nic pomocnego nie znalazłem...