我正在使用ffmpeg来编辑视频,我想阻止它在执行操作时显示控制台。
以下是我如何开始ffmpeg:
ProcessStartInfo si = new ProcessStartInfo();
si.Arguments = string.Format("-y -loop 1 -t " + DucationToString(frameDuration) + " -r 25 -f image2 -i \"{0}\" \"{1}\"",
item.Value, otpt);
si.FileName = "ffmpeg";
si.UseShellExecute = false;
Process.Start(si).WaitForExit();
无论我在ProcessStartInfo
尝试的设置如何,控制台始终显示。
如何在创建子进程时阻止显示控制台?
答案 0 :(得分:5)
你应该尝试使用
ProcessStartInfo si = new ProcessStartInfo();
si.WindowStyle = ProcessWindowStyle.Hidden;
si.CreateNoWindow = true;
si.UseShellExecute = false;
答案 1 :(得分:2)
将ProcessStartInfo.CreateNoWindow
设为true
。
注意:
要使用ProcessWindowStyle.Hidden
或ProcessStartInfo.CreateNoWindow
,ProcessStartInfo.UseShellExecute
媒体资源必须为false
。
答案 2 :(得分:1)
您是否已在代码中添加此内容
si.CreateNoWindow = true;
si.RedirectStandardOutput = true;