Hi! Das nachfolgende Codefragment wandelt eine Wavedatei (test.wav liegt im Verzeichnis C:\\MyWaveVerzeichnis)
über die Windows-Kommandozeile in eine mp3-Datei (test.mp3), unter Verwendung des Lame-Codecs
(lame.exe liegt im Verzeichnis (C:\LameVerzeichnis), um:
Das ganze läuft, wie man sieht, in einem Thread.
Funktioniert soweit super. Irgendwann ist die Umwandlung fertig und der Thread beendet sich. Jetzt bräuchte ich irgendwie
eine Rückgabe, daß der Thread sich beendet hat, damit bestimmte Funktionen, die dann auf die neu erstellte mp3-Datei
zugreifen sollen, aktiv werden können. Es würde also quasi reichen eine Variable z.B. boolean threadIstZuende = true zu setzen.
Frage: Wie mache ich das? Ein Stückchen Code würde mir helfen. Vielen Dank schon mal.
über die Windows-Kommandozeile in eine mp3-Datei (test.mp3), unter Verwendung des Lame-Codecs
(lame.exe liegt im Verzeichnis (C:\LameVerzeichnis), um:
Code:
...
encodeThread = new Thread( new Thread(new Runnable(){
File path2Wave = new File("C:\\MyWaveVerzeichnis");
public void run(){
try{
Process encode= Runtime.getRuntime().exec("cmd /c start C:\\LameVerzeichnis test.wav test.mp3,null,path2Wave);
}
catch(IOException e){
System.err.println("Es ist ein I/O-Fehler aufgetreten: "+e);
}
}
});
encodeThread.start();
...
Das ganze läuft, wie man sieht, in einem Thread.
Funktioniert soweit super. Irgendwann ist die Umwandlung fertig und der Thread beendet sich. Jetzt bräuchte ich irgendwie
eine Rückgabe, daß der Thread sich beendet hat, damit bestimmte Funktionen, die dann auf die neu erstellte mp3-Datei
zugreifen sollen, aktiv werden können. Es würde also quasi reichen eine Variable z.B. boolean threadIstZuende = true zu setzen.
Frage: Wie mache ich das? Ein Stückchen Code würde mir helfen. Vielen Dank schon mal.