你可以使用java.lang.Process的waitFor()方法:
Process p = Runtime.getRuntime().exec("ffmpeg...");
int exitValue = p.waitFor()
这样,当前线程一直等到Process p终止.
编辑:
您可以尝试查看ffmpeg的输出:
class StreamDump implements Runnable {
private InputStream stream;
StreamDump(InputStream input) {
this.stream = input;
}
public void run() {
try {
int c;
while ((c = stream.read()) != -1) {
System.out.write(c);
}
} catch (Throwable t) {
t.printStackTrace();
}
}
}
和
Process p = Runtime.getRuntime().exec("ffmpeg.exe...");
new Thread(new StreamDump(p.getErrorStream()), "error stream").start();
new Thread(new StreamDump(p.getInputStream()), "output stream").start();
try {
p.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Exit value: " + p.exitValue());