Запуск консольного приложения с параметрами и передача паузы - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Требуется получить информацию о видеофайле и считать её в переменную. Делаю это при помощи ffmpeg. Вот только при запуске как прописать параметр pause, а то закрывается слишком быстро. Через file.cmd это выглядит так:
ffmpeg.exe -i video.mkv
pause
Пробую через C# вот так:
Process pr = new Process();
pr.StartInfo.FileName = "ffmpeg.exe";
pr.StartInfo.Arguments = "-i video.mkv pause";
pr.Start();
StreamReader myStreamReader = pr.StandardOutput;
string ffmpegi = myStreamReader.ReadLine();
Console.WriteLine(ffmpegi);
pr.WaitForExit();
pr.Close();
Однако ffmpeg всё равно сам закрывается почти сразу же и моя программа не успевает ничего считать. В итоге возникает исключение. Подскажите, как передать паузу через аргументы, пожалуйста.

Решение задачи: «Запуск консольного приложения с параметрами и передача паузы»

textual
Листинг программы
        private static void Main(string[] args)
        {
            Process p = new Process
                        {
                            StartInfo = new ProcessStartInfo("cmd")
                                        {
                                            UseShellExecute = false,
                                            RedirectStandardInput = true,
                                            RedirectStandardOutput = true
                                        }
                        };
            p.Start();
            p.StandardInput.WriteLine("-i video.mkv");
            p.StandardInput.WriteLine("pause");
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.545 из 5
Похожие ответы