2010-08-02 38 views
1

我用我的C#應用​​程序在Windows和Mono在Linux上運行.NET的mplayer後無法刪除文件。我使用Process.Start啓動mplayer,並在-slave -idle中運行它。mplayer的從屬模式 - 看

要播放視頻,我寫信給標準輸入這樣的:

的loadFile {文件名}

當我準備玩下一個視頻,我用新的文件名的loadFile再打電話。

問題:如果我播放視頻,然後一段時間去刪除該文件,我不能 - 在Windows上,我得到「因爲它正由另一個進程的進程無法訪問文件」。我使用Process Explorer進行了檢查,發現mplayer仍然在文件上打開一個句柄,即使它在一段時間之前完成了播放。

我如何能得到的mplayer將發佈它已經完成播放文件句柄任何想法?

在此先感謝

回答

0

使用pipe

+0

謝謝。我不能讓MPlayer的工作,在Windows命名管道 - 我把它連接到我管,但那就不是聽任何命令......而在Windows這樣做文檔在地面上薄。我已經結束了使用兩個MPlayer進程並在它們之間切換(關閉並重新啓動一個來釋放控制柄,而另一個正在播放) – TheNextman 2010-08-10 20:06:07