私が理解しているように、 はコマンドプロンプトを開いたようにFFMPEGを実際に起動する方法を尋ねており、自分でコマンドを実行しました。
この場合、Windowsではコマンドプロンプトに実行可能ファイルを独自のプロセスとして開始するコマンドがあります。
String[] command = new String[] {"start", "C:\Windows\System32\calc.exe"};
Process p = Runtime.getRuntime().exec(command);
異なっ起こっていただきました!の簡単な説明は次のとおりです:
String[] command = new String[] {"cmd.exe", "/c", "C:\Windows\System32\calc.exe"};
を使用する場合、Javaは、新しい子プロセスを作成し、適切にこれをやって試してみてください 'スタート'
命名この子プロセスでffmpeg(この例ではCalculator)コマンドを起動するコマンドを実行するjava.exe自体。
explorer.exeの
EDITから起動しているかのように完全独自のプロセスで、それ以外の場合は
String[] command = new String[] {"start", "C:\Windows\System32\calc.exe"};
を使用してffmpegのを開始します(または、もう一度ここで電卓):
Iドン私のWindowsコンピュータは機能しないので、現時点でこれをテストする能力はありません。 それは次のようにあなたがcmd.exeのでstartコマンド自体を前に付ける必要があることも可能である:私の知識いずれかの方法はず仕事へ
String[] command = new String[] {"cmd.exe", "/c", "start", "C:\Windows\System32\calc.exe"};
しかし。
Edit2:説明をより説明しました。
[java execからの出力を読む](http://stackoverflow.com/questions/8149828/read-the-output-from-java-exec)の可能な複製 – noshusan
リンクありがとうございます。私はプロセスビルダを使用して出力ストリームをリダイレクトできることを知っています。私の目標は、cmdウィンドウを開くことです。 –
Javaアプリケーションは、ユーザーコンテキストで実行されているのか、サービスとして実行されていますか? –