對於C#項目,我正在試驗ffmpeg以從視頻文件(在Windows中)中提取.wav文件。 您可以通過在命令行上運行它來執行此操作:「ffmpeg -i inputvid.avi +'extra parameters'+ extracted.wav」。 這顯然會將輸入.avi文件中的音頻提取到指定的.wav文件。將數據寫入cmd到內存而不是文件,用C#抓住它#
現在,我可以輕鬆地在C#中運行此命令,以便創建所需的.wav文件。但是,我不需要這個wav文件留在硬盤上。出於性能方面的原因,如果ffmpeg可以將該文件暫時保存到內存中,那麼該內存就可以在我的C#程序中使用。執行完程序後,不再需要.wav文件。
所以實際的問題是:我可以將輸出文件從程序重定向到內存嗎? 如果這是可能的,我該如何在C#中讀取?
我知道這是一個長鏡頭,我是很懷疑的,如果它是可能的,但我總能問...
在此先感謝。
你有一個僵局。 [RedirectStandardOutput上的MSDN文檔](http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.redirectstandardoutput.aspx)詳細解釋了相互依賴關係,但結果是您需要清除在等待進程完成之前(使用WaitForExit)流(使用ReadToEnd)*。 – ladenedge 2010-06-07 16:06:20
謝謝,它現在可行! – Mee 2010-06-07 21:47:59