我在我的 C# 应用程序中使用 mplayer,该应用程序在 Windows 上的 .NET 和 Linux 上的 Mono 中运行。我使用 Process.Start 启动 mplayer 并在 -slave -idle 中运行它。
要播放视频,我会这样写到标准输入:
加载文件 {文件名}
当我准备好播放下一个视频时,我再次使用新文件名调用 loadfile。
问题:如果我播放视频然后有时去删除该文件,我不能 - 在 Windows 上我得到“该进程无法访问该文件,因为它正在被另一个进程使用”。我检查了 Process Explorer 并看到 mplayer 仍然在文件上打开了一个句柄,即使它在一段时间前完成了播放。
关于如何让 mplayer 释放它已完成播放的文件的句柄的任何想法?
提前致谢