亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么進程輸出讀取器返回空數據?當其他進程中的相同代碼正常工作時

為什么進程輸出讀取器返回空數據?當其他進程中的相同代碼正常工作時

C#
喵喔喔 2023-09-16 15:53:15
我嘗試從 ffmpeg 進程獲取輸出,但無法獲取輸出。在另一個進程和命令中,它工作正常,但輸出在啟動時立即返回!        using (var process = new Process())        {            process.StartInfo = new ProcessStartInfo()            {                FileName = LinkHelper.IPFS_PATH,                Arguments = cmd,                UseShellExecute = false,                CreateNoWindow = true,                RedirectStandardOutput = true            };            process.ErrorDataReceived += FfmpegErrorRecieved;            process.Start();            using (StreamReader reader = process.StandardOutput)            {                string output = await reader.ReadToEndAsync();                Console.WriteLine(output);            }                           process.WaitForExit();        }輸出句柄之前!
查看完整描述

2 回答

?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

ffmpeg將其輸出寫入stderrand not?stdout。因此,您必須從標準錯誤而不是標準輸出中
讀取。

因此,請改用以下幾行:

using?(StreamReader?reader?=?process.StandardError)
{
????string?output?=?await?reader.ReadToEndAsync();
????Console.WriteLine(output);
}


查看完整回答
反對 回復 2023-09-16
?
茅侃侃

TA貢獻1842條經驗 獲得超21個贊

process.Start();

添加

process.BeginOutputReadLine();


查看完整回答
反對 回復 2023-09-16
  • 2 回答
  • 0 關注
  • 120 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號