samedi 9 mai 2015

Running SoX from Processing/Java on Windows computer

This might be an easy one - but it's driving me nuts at this point. I'm trying to run SoX from Processing which on my mac computer is running smoothly and with no problems. I need to migrate the code to a windows 7 machine but can't get it to work for some reason. Talking to the terminal from processing works fine. I'm in the right folder (sketch data folder) since I can run commands like "dir" etc. and get the right content printed - but as soon as I try to run sox.exe nothing happens. Running sox.exe straight from the cmd terminal works fine. Here is a sample of what I'm trying to do:

void playBackYear (){

soxPlay = "cmd /c sox.exe year.wav -d";
  println (soxPlay);
 try {
    File workingDir = new File(sketchPath("data"));
    Process p=Runtime.getRuntime().exec(soxPlay, null, workingDir);
    p.waitFor(); 
    BufferedReader reader=new BufferedReader(
    new InputStreamReader(p.getInputStream())
      ); 
    String line; 
    while ( (line = reader.readLine ()) != null) 
    { 
      println(line);
    }
  } 

  catch(IOException e1) {
  } 
  catch(InterruptedException e2) {
  } 

}

So the questions is what am I doing wrong here? Any help is appreciated.

Aucun commentaire:

Enregistrer un commentaire