小编典典

从Java的processbuilder执行的ffmpeg在Windows 7下不会返回

java

我试图建立一个调用ffmpeg二进制文件的ProcessBuilder。我的问题是调用它,它在MacOs,Ubuntu和WindowsXp下完美返回,但是在Windows7下,waitFor()永不返回。

有谁在Windows 7下有类似的经历?任何帮助,将不胜感激!

我的命令:

ProcessBuilder pb = new ProcessBuilder( );

pb.command( "C:\\Windows\\System32\\cmd.exe", "/c", "c:\\ffmpeg\\bin\\ffmpeg.exe", "-version" );

也尝试过这些:

pb.command( "c:\\ffmpeg\\bin\\ffmpeg.exe", "-version" ); 
pb.command( "C:\\Windows\\System32\\cmd.exe", "/c", "start c:\\ffmpeg\\bin\\ffmpeg.exe -version" );

结果是一样的。:(


阅读 402

收藏
2020-11-26

共1个答案

小编典典

看起来您的进程在其输出和/或错误流中写入了一些内容。它们的缓冲区溢出和处理块。为了避免这种情况,您应该读出并错误处理流。

有关更多信息,请参见“
当Runtime.exec()不会出现时

2020-11-26