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