0

我正在开发 ac# 程序来循环播放我的 Windows Media Center 录制的电视节目 (.wtv) 并使用手刹 cli 转换它们。我现在一切正常,我还想利用 --scan 函数,以便我可以根据输入文件自定义音频和视频参数,而不是设置一个静态参数。

这是我到目前为止的扫描内容,但我似乎无法找到打印到控制台窗口的数据在哪里。

var p = new Process();
var pSI = new ProcessStartInfo();
pSI.RedirectStandardOutput = true;
pSI.UseShellExecute = false;
pSI.FileName = HandBrakeLocation;
pSI.Arguments = string.Concat(@"--scan -i ", '"', inputFile, '"');
pSI.WindowStyle = ProcessWindowStyle.Hidden;
p.StartInfo = pSI;
p.Start();
var stdout = p.StandardOutput;//streamreader
p.WaitForExit();

我认为也许 p.StandardOutput 会将控制台输出发送到 stdout StreamReader 变量,但我在对象内的任何地方都找不到它。我错过了什么?

感谢您的时间和帮助。

4

1 回答 1

0

您可以使用进程的 StandardOutput 属性(它是一个流)读取程序输出:

var output = stdout.ReadToEnd();
p.WaitForExit();

更多信息可以在 MSDN 上找到:https ://msdn.microsoft.com/en-us/library/system.diagnostics.process.standardoutput%28v=vs.110%29.aspx

于 2016-02-19T02:09:54.067 回答